# 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 - Multi-language repository env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GO111MODULE: auto CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true' on: push: branches: - main - releases/v2 pull_request: types: - opened - synchronize - reopened - ready_for_review workflow_dispatch: {} jobs: multi-language-autodetect: strategy: matrix: include: - os: ubuntu-20.04 version: stable-20211005 - os: macos-latest version: stable-20211005 - os: ubuntu-20.04 version: stable-20220120 - os: macos-latest version: stable-20220120 - os: ubuntu-latest version: stable-20220401 - os: macos-latest version: stable-20220401 - os: ubuntu-latest version: cached - os: macos-latest version: cached - os: ubuntu-latest version: latest - os: macos-latest version: latest - os: ubuntu-latest version: nightly-latest - os: macos-latest version: nightly-latest name: Multi-language repository 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: Set up Go if: matrix.os == 'ubuntu-20.04' || matrix.os == 'windows-2019' uses: actions/setup-go@v3 with: go-version: ^1.13.1 - uses: ./../action/init id: init with: db-location: ${{ runner.temp }}/customDbLocation tools: ${{ steps.prepare-test.outputs.tools-url }} - uses: ./../action/.github/setup-swift with: codeql-path: ${{steps.init.outputs.codeql-path}} - name: Build code shell: bash run: ./build.sh - uses: ./../action/analyze id: analysis - name: Check language autodetect for all languages excluding Ruby, Swift shell: bash run: | CPP_DB=${{ fromJson(steps.analysis.outputs.db-locations).cpp }} if [[ ! -d $CPP_DB ]] || [[ ! $CPP_DB == ${{ runner.temp }}/customDbLocation/* ]]; then echo "Did not create a database for CPP, or created it in the wrong location." exit 1 fi CSHARP_DB=${{ fromJson(steps.analysis.outputs.db-locations).csharp }} if [[ ! -d $CSHARP_DB ]] || [[ ! $CSHARP_DB == ${{ runner.temp }}/customDbLocation/* ]]; then echo "Did not create a database for C Sharp, or created it in the wrong location." exit 1 fi GO_DB=${{ fromJson(steps.analysis.outputs.db-locations).go }} if [[ ! -d $GO_DB ]] || [[ ! $GO_DB == ${{ runner.temp }}/customDbLocation/* ]]; then echo "Did not create a database for Go, or created it in the wrong location." exit 1 fi JAVA_DB=${{ fromJson(steps.analysis.outputs.db-locations).java }} if [[ ! -d $JAVA_DB ]] || [[ ! $JAVA_DB == ${{ runner.temp }}/customDbLocation/* ]]; then echo "Did not create a database for Java, or created it in the wrong location." exit 1 fi JAVASCRIPT_DB=${{ fromJson(steps.analysis.outputs.db-locations).javascript }} if [[ ! -d $JAVASCRIPT_DB ]] || [[ ! $JAVASCRIPT_DB == ${{ runner.temp }}/customDbLocation/* ]]; then echo "Did not create a database for Javascript, or created it in the wrong location." exit 1 fi PYTHON_DB=${{ fromJson(steps.analysis.outputs.db-locations).python }} if [[ ! -d $PYTHON_DB ]] || [[ ! $PYTHON_DB == ${{ runner.temp }}/customDbLocation/* ]]; then echo "Did not create a database for Python, or created it in the wrong location." exit 1 fi - name: Check language autodetect for Ruby if: (matrix.version == 'cached' || matrix.version == 'latest' || matrix.version == 'nightly-latest') shell: bash run: | RUBY_DB=${{ fromJson(steps.analysis.outputs.db-locations).ruby }} if [[ ! -d $RUBY_DB ]] || [[ ! $RUBY_DB == ${{ runner.temp }}/customDbLocation/* ]]; then echo "Did not create a database for Ruby, or created it in the wrong location." exit 1 fi - name: Check language autodetect for Swift if: (matrix.version == 'cached' || matrix.version == 'latest' || matrix.version == 'nightly-latest') shell: bash run: | SWIFT_DB=${{ fromJson(steps.analysis.outputs.db-locations).swift }} if [[ ! -d $SWIFT_DB ]] || [[ ! $SWIFT_DB == ${{ runner.temp }}/customDbLocation/* ]]; then echo "Did not create a database for Swift, or created it in the wrong location." exit 1 fi env: CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT: 'true' # Remove when Swift is GA. CODEQL_ACTION_TEST_MODE: true