From 35684bafaa913363cafc8363e57d8e401eddefaf Mon Sep 17 00:00:00 2001 From: Angela P Wen Date: Wed, 25 Sep 2024 14:14:09 -0700 Subject: [PATCH] Add PR check with feature flag enabled to test upgrade --- .github/workflows/debug-artifacts-upgrade.yml | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 .github/workflows/debug-artifacts-upgrade.yml diff --git a/.github/workflows/debug-artifacts-upgrade.yml b/.github/workflows/debug-artifacts-upgrade.yml new file mode 100644 index 0000000000..b747e7f210 --- /dev/null +++ b/.github/workflows/debug-artifacts-upgrade.yml @@ -0,0 +1,99 @@ +# Checks logs, SARIF, and database bundle debug artifacts exist and are accessible +# with download-artifact@v4 when CODEQL_ACTION_ARTIFACT_UPGRADE is set to true. +name: PR Check - Debug artifact upload using artifact@v2 +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CODEQL_ACTION_ARTIFACT_UPGRADE: true +on: + push: + branches: + - main + - releases/v* + pull_request: + types: + - opened + - synchronize + - reopened + - ready_for_review + schedule: + - cron: '0 5 * * *' + workflow_dispatch: {} +jobs: + upload-artifacts: + strategy: + fail-fast: false + matrix: + version: + - stable-v2.13.5 + - stable-v2.14.6 + - stable-v2.15.5 + - stable-v2.16.6 + - stable-v2.17.6 + - default + - linked + - nightly-latest + name: Upload debug artifacts + env: + CODEQL_ACTION_TEST_MODE: true + timeout-minutes: 45 + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + - name: Prepare test + id: prepare-test + uses: ./.github/actions/prepare-test + with: + version: ${{ matrix.version }} + - uses: actions/setup-go@v5 + with: + go-version: ^1.13.1 + - uses: ./../action/init + id: init + with: + tools: ${{ steps.prepare-test.outputs.tools-url }} + debug: true + debug-artifact-name: my-debug-artifacts + debug-database-name: my-db + # We manually exclude Swift from the languages list here, as it is not supported on Ubuntu + languages: cpp,csharp,go,java,javascript,python,ruby + - name: Build code + shell: bash + run: ./build.sh + - uses: ./../action/analyze + id: analysis + download-and-check-artifacts: + name: Download and check debug artifacts + needs: upload-artifacts + timeout-minutes: 45 + runs-on: ubuntu-latest + steps: + - name: Download all artifacts + uses: actions/download-artifact@v4 + - name: Check expected artifacts exist + shell: bash + run: | + VERSIONS="stable-v2.13.5 stable-v2.14.6 stable-v2.15.5 stable-v2.16.6 stable-v2.17.6 default linked nightly-latest" + LANGUAGES="cpp csharp go java javascript python" + for version in $VERSIONS; do + pushd "./my-debug-artifacts-${version//./}" + echo "Artifacts from version $version:" + for language in $LANGUAGES; do + echo "- Checking $language" + if [[ ! -f "$language.sarif" ]] ; then + echo "Missing a SARIF file for $language" + exit 1 + fi + if [[ ! -f "my-db-$language.zip" ]] ; then + echo "Missing a database bundle for $language" + exit 1 + fi + if [[ ! -d "$language/log" ]] ; then + echo "Missing logs for $language" + exit 1 + fi + done + popd + done + env: + GO111MODULE: auto