diff --git a/.github/workflows/__init-with-registries.yml b/.github/workflows/__init-with-registries.yml new file mode 100644 index 000000000..517764328 --- /dev/null +++ b/.github/workflows/__init-with-registries.yml @@ -0,0 +1,93 @@ +# Warning: This file is generated automatically, and should not be modified. +# Instead, please modify the template in the pr-checks directory and run: +# pip install ruamel.yaml && python3 sync.py +# to regenerate this file. + +name: 'PR Check - Packaging: Download using registries' +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GO111MODULE: auto +on: + push: + branches: + - main + - releases/v1 + - releases/v2 + pull_request: + types: + - opened + - synchronize + - reopened + - ready_for_review + workflow_dispatch: {} +jobs: + init-with-registries: + strategy: + matrix: + include: + - os: ubuntu-latest + version: latest + - os: macos-latest + version: latest + - os: windows-2019 + version: latest + - os: windows-2022 + version: latest + - os: ubuntu-latest + version: cached + - os: macos-latest + version: cached + - os: windows-2019 + version: cached + - os: ubuntu-latest + version: nightly-latest + - os: macos-latest + version: nightly-latest + - os: windows-2019 + version: nightly-latest + - os: windows-2022 + version: nightly-latest + name: 'Packaging: Download using registries' + timeout-minutes: 45 + runs-on: ${{ matrix.os }} + steps: + - name: Check out repository + uses: actions/checkout@v3 + - name: Prepare test + id: prepare-test + uses: ./.github/prepare-test + with: + version: ${{ matrix.version }} + - name: Init with registries-auth-tokens + 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-auth-tokens: https://ghcr.io/v2/=${{ secrets.GITHUB_TOKEN }} + env: + TEST_MODE: true + - name: Verify packages installed + shell: bash + run: | + PRIVATE_PACK="$HOME/.codeql/packages/dsp-testing/private-pack" + CODEQL_PACK1="$HOME/.codeql/packages/dsp-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 + env: + INTERNAL_CODEQL_ACTION_DEBUG_LOC: true diff --git a/pr-checks/checks/init-with-registries.yml b/pr-checks/checks/init-with-registries.yml new file mode 100644 index 000000000..e1e7c00fe --- /dev/null +++ b/pr-checks/checks/init-with-registries.yml @@ -0,0 +1,40 @@ +# 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: ["latest", "cached", "nightly-latest"] # This feature is not compatible with old CLIs + +steps: + - name: Init with registries-auth-tokens + 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-auth-tokens: https://ghcr.io/v2/=${{ secrets.GITHUB_TOKEN }} + env: + TEST_MODE: true + - name: Verify packages installed + shell: bash + run: | + PRIVATE_PACK="$HOME/.codeql/packages/dsp-testing/private-pack" + CODEQL_PACK1="$HOME/.codeql/packages/dsp-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 diff --git a/tests/multi-language-repo/.github/codeql/codeql-config-registries.yml b/tests/multi-language-repo/.github/codeql/codeql-config-registries.yml new file mode 100644 index 000000000..dba07b9ed --- /dev/null +++ b/tests/multi-language-repo/.github/codeql/codeql-config-registries.yml @@ -0,0 +1,12 @@ +name: Pack testing in the CodeQL Action + +disable-default-queries: true +packs: + javascript: + - dsp-testing/private-pack + - dsp-testing/codeql-pack1 + +registries: + # enforce using the registries block for all packs + - url: https://ghcr.io/v2/ + packages: "*"