# A test for running the init command with a registries block. # This test does _not_ validate that the action can authenticate # against multiple registries. All it does is validate that the # basic mechanics of multi-registry auth is working. name: "Packaging: Download using registries" description: "Checks that specifying a registries block and associated auth works as expected" versions: [ # This feature is not compatible with older CLIs "default", "linked", "nightly-latest", ] permissions: contents: read packages: read steps: - name: Init with registries uses: ./../action/init with: db-location: "${{ runner.temp }}/customDbLocation" tools: ${{ steps.prepare-test.outputs.tools-url }} config-file: ./.github/codeql/codeql-config-registries.yml languages: javascript registries: | - url: "https://ghcr.io/v2/" packages: "*/*" token: "${{ secrets.GITHUB_TOKEN }}" - name: Verify packages installed shell: bash run: | PRIVATE_PACK="$HOME/.codeql/packages/codeql-testing/private-pack" CODEQL_PACK1="$HOME/.codeql/packages/codeql-testing/codeql-pack1" if [[ -d $PRIVATE_PACK ]] then echo "$PRIVATE_PACK was installed." else echo "::error $PRIVATE_PACK pack was not installed." exit 1 fi if [[ -d $CODEQL_PACK1 ]] then echo "$CODEQL_PACK1 was installed." else echo "::error $CODEQL_PACK1 pack was not installed." exit 1 fi - name: Verify qlconfig.yml file was created shell: bash run: | QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml echo "Expected qlconfig.yml file to be created at $QLCONFIG_PATH" if [[ -f $QLCONFIG_PATH ]] then echo "qlconfig.yml file was created." else echo "::error qlconfig.yml file was not created." exit 1 fi - name: Verify contents of qlconfig.yml # yq is not available on windows if: runner.os != 'Windows' shell: bash run: | QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml cat $QLCONFIG_PATH | yq -e '.registries[] | select(.url == "https://ghcr.io/v2/") | select(.packages == "*/*")' if [[ $? -eq 0 ]] then echo "Registry was added to qlconfig.yml file." else echo "::error Registry was not added to qlconfig.yml file." echo "Contents of qlconfig.yml file:" cat $QLCONFIG_PATH exit 1 fi