PR Check - Debug artifact upload #3411
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Checks logs, SARIF, and database bundle debug artifacts exist. | |
name: PR Check - Debug artifact upload | |
env: | |
# Disable Kotlin analysis while it's incompatible with Kotlin 1.8, until we find a | |
# workaround for our PR checks. | |
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
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-20230403 | |
- stable-v2.13.5 | |
- stable-v2.14.6 | |
- stable-v2.15.5 | |
- stable-v2.16.6 | |
- default | |
- latest | |
- 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 | |
- uses: ./../action/.github/actions/setup-swift | |
with: | |
codeql-path: ${{ steps.init.outputs.codeql-path }} | |
- 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@v3 | |
- name: Check expected artifacts exist | |
shell: bash | |
run: | | |
VERSIONS="stable-20230403 stable-v2.13.5 stable-v2.14.6 stable-v2.15.5 stable-v2.16.6 default latest 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 |