diff --git a/.github/workflows/__export-file-baseline-information.yml b/.github/workflows/__export-file-baseline-information.yml index e5981ea521..7a6f198910 100644 --- a/.github/workflows/__export-file-baseline-information.yml +++ b/.github/workflows/__export-file-baseline-information.yml @@ -42,6 +42,10 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - uses: swift-actions/setup-swift@5cdaa9161ad1f55ae39a5ea1784ef96de72f95d9 + if: runner.os != 'Windows' + with: + swift-version: '5.7' - uses: ./../action/init with: languages: javascript diff --git a/.github/workflows/__ml-powered-queries.yml b/.github/workflows/__ml-powered-queries.yml index 6441e8e9d9..4b6367ee6c 100644 --- a/.github/workflows/__ml-powered-queries.yml +++ b/.github/workflows/__ml-powered-queries.yml @@ -87,8 +87,7 @@ jobs: - name: Check sarif uses: ./../action/.github/check-sarif # Running on Windows requires CodeQL CLI 2.9.0+. - if: "!(matrix.version == 'stable-20220120' && (matrix.os == 'windows-latest'\ - \ || matrix.os == 'windows-2019'))" + if: "!(matrix.version == 'stable-20220120' && runner.os == 'Windows')" with: sarif-file: ${{ runner.temp }}/results/javascript.sarif queries-run: js/ml-powered/nosql-injection,js/ml-powered/path-injection,js/ml-powered/sql-injection,js/ml-powered/xss @@ -98,7 +97,7 @@ jobs: env: # Running on Windows requires CodeQL CLI 2.9.0+. SHOULD_RUN_ML_POWERED_QUERIES: ${{ !(matrix.version == 'stable-20220120' && - (matrix.os == 'windows-latest' || matrix.os == 'windows-2019')) }} + runner.os == 'Windows') }} shell: bash run: | echo "Expecting ML-powered queries to be run: ${SHOULD_RUN_ML_POWERED_QUERIES}" diff --git a/.github/workflows/__multi-language-autodetect.yml b/.github/workflows/__multi-language-autodetect.yml index 7a3ddab379..868fd01163 100644 --- a/.github/workflows/__multi-language-autodetect.yml +++ b/.github/workflows/__multi-language-autodetect.yml @@ -65,16 +65,25 @@ jobs: uses: actions/setup-go@v3 with: go-version: ^1.13.1 + - uses: swift-actions/setup-swift@5cdaa9161ad1f55ae39a5ea1784ef96de72f95d9 + if: runner.os != 'Windows' + with: + swift-version: '5.7' + - uses: ./../action/init with: db-location: ${{ runner.temp }}/customDbLocation tools: ${{ steps.prepare-test.outputs.tools-url }} + - name: Build code shell: bash run: ./build.sh + - uses: ./../action/analyze id: analysis - - shell: bash + + - 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 @@ -106,5 +115,28 @@ jobs: 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: "!startsWith(matrix.os, 'windows') && (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 diff --git a/.github/workflows/__ruby-autodetect.yml b/.github/workflows/__ruby-autodetect.yml deleted file mode 100644 index 3895159c65..0000000000 --- a/.github/workflows/__ruby-autodetect.yml +++ /dev/null @@ -1,66 +0,0 @@ -# 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 - Ruby analysis using autodetect -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: - ruby-autodetect: - strategy: - matrix: - include: - - os: ubuntu-latest - version: latest - - os: macos-latest - version: latest - - os: ubuntu-latest - version: cached - - os: macos-latest - version: cached - - os: ubuntu-latest - version: nightly-latest - - os: macos-latest - version: nightly-latest - name: Ruby analysis using autodetect - 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 }} - - uses: ./../action/init - with: - tools: ${{ steps.prepare-test.outputs.tools-url }} - - uses: ./../action/analyze - id: analysis - - name: Check database - shell: bash - run: | - RUBY_DB="${{ fromJson(steps.analysis.outputs.db-locations).ruby }}" - if [[ ! -d "$RUBY_DB" ]]; then - echo "Did not create a database for Ruby." - exit 1 - fi - env: - CODEQL_ENABLE_EXPERIMENTAL_FEATURES: 'true' - CODEQL_ACTION_TEST_MODE: true diff --git a/.github/workflows/__ruby.yml b/.github/workflows/__ruby.yml index 7c12669a72..9a3a9f7ebf 100644 --- a/.github/workflows/__ruby.yml +++ b/.github/workflows/__ruby.yml @@ -63,5 +63,4 @@ jobs: exit 1 fi env: - CODEQL_ENABLE_EXPERIMENTAL_FEATURES: 'true' CODEQL_ACTION_TEST_MODE: true diff --git a/.github/workflows/__swift-autobuild.yml b/.github/workflows/__swift-autobuild.yml index 8df545be37..a6e87f05c9 100644 --- a/.github/workflows/__swift-autobuild.yml +++ b/.github/workflows/__swift-autobuild.yml @@ -42,6 +42,9 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - uses: swift-actions/setup-swift@5cdaa9161ad1f55ae39a5ea1784ef96de72f95d9 + with: + swift-version: '5.7' - uses: ./../action/init with: languages: swift diff --git a/.github/workflows/__swift-custom-build.yml b/.github/workflows/__swift-custom-build.yml index 83a0b84ffa..fafe05dd6b 100644 --- a/.github/workflows/__swift-custom-build.yml +++ b/.github/workflows/__swift-custom-build.yml @@ -48,6 +48,9 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - uses: swift-actions/setup-swift@5cdaa9161ad1f55ae39a5ea1784ef96de72f95d9 + with: + swift-version: '5.7' - uses: ./../action/init with: languages: swift diff --git a/pr-checks/checks/export-file-baseline-information.yml b/pr-checks/checks/export-file-baseline-information.yml index 4ce7d7fbfd..1aa670d2b3 100644 --- a/pr-checks/checks/export-file-baseline-information.yml +++ b/pr-checks/checks/export-file-baseline-information.yml @@ -2,6 +2,10 @@ name: "Export file baseline information" description: "Tests that file baseline information is exported when the feature is enabled" versions: ["nightly-latest"] steps: + - uses: swift-actions/setup-swift@5cdaa9161ad1f55ae39a5ea1784ef96de72f95d9 + if: runner.os != 'Windows' + with: + swift-version: "5.7" - uses: ./../action/init with: languages: javascript diff --git a/pr-checks/checks/ml-powered-queries.yml b/pr-checks/checks/ml-powered-queries.yml index 0e439b4080..d0628b32cc 100644 --- a/pr-checks/checks/ml-powered-queries.yml +++ b/pr-checks/checks/ml-powered-queries.yml @@ -30,7 +30,7 @@ steps: - name: Check sarif uses: ./../action/.github/check-sarif # Running on Windows requires CodeQL CLI 2.9.0+. - if: "!(matrix.version == 'stable-20220120' && (matrix.os == 'windows-latest' || matrix.os == 'windows-2019'))" + if: "!(matrix.version == 'stable-20220120' && runner.os == 'Windows')" with: sarif-file: ${{ runner.temp }}/results/javascript.sarif queries-run: js/ml-powered/nosql-injection,js/ml-powered/path-injection,js/ml-powered/sql-injection,js/ml-powered/xss @@ -39,7 +39,7 @@ steps: - name: Check results env: # Running on Windows requires CodeQL CLI 2.9.0+. - SHOULD_RUN_ML_POWERED_QUERIES: ${{ !(matrix.version == 'stable-20220120' && (matrix.os == 'windows-latest' || matrix.os == 'windows-2019')) }} + SHOULD_RUN_ML_POWERED_QUERIES: ${{ !(matrix.version == 'stable-20220120' && runner.os == 'Windows') }} shell: bash run: | echo "Expecting ML-powered queries to be run: ${SHOULD_RUN_ML_POWERED_QUERIES}" diff --git a/pr-checks/checks/multi-language-autodetect.yml b/pr-checks/checks/multi-language-autodetect.yml index 2dcb112de0..70c2171fff 100644 --- a/pr-checks/checks/multi-language-autodetect.yml +++ b/pr-checks/checks/multi-language-autodetect.yml @@ -1,17 +1,28 @@ name: "Multi-language repository" description: "An end-to-end integration test of a multi-language repository using automatic language detection" operatingSystems: ["ubuntu", "macos"] +env: + CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT: "true" # Remove when Swift is GA. steps: + - uses: swift-actions/setup-swift@5cdaa9161ad1f55ae39a5ea1784ef96de72f95d9 + if: runner.os != 'Windows' + with: + swift-version: "5.7" + - uses: ./../action/init with: db-location: "${{ runner.temp }}/customDbLocation" tools: ${{ steps.prepare-test.outputs.tools-url }} + - name: Build code shell: bash run: ./build.sh + - uses: ./../action/analyze id: analysis - - shell: bash + + - 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 @@ -43,3 +54,23 @@ steps: 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: "!startsWith(matrix.os, 'windows') && (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 diff --git a/pr-checks/checks/ruby-autodetect.yml b/pr-checks/checks/ruby-autodetect.yml deleted file mode 100644 index daad374af3..0000000000 --- a/pr-checks/checks/ruby-autodetect.yml +++ /dev/null @@ -1,22 +0,0 @@ -# This check should be combined into `multi-language-autodetect.yml` once Ruby is GA'ed -# and the `CODEQL_ENABLE_EXPERIMENTAL_FEATURES` environment variable is not needed. -name: "Ruby analysis using autodetect" -description: "Tests creation of a Ruby database when language isn't specified in init" -versions: ["latest", "cached", "nightly-latest"] -operatingSystems: ["ubuntu", "macos"] -env: - CODEQL_ENABLE_EXPERIMENTAL_FEATURES: "true" -steps: - - uses: ./../action/init - with: - tools: ${{ steps.prepare-test.outputs.tools-url }} - - uses: ./../action/analyze - id: analysis - - name: Check database - shell: bash - run: | - RUBY_DB="${{ fromJson(steps.analysis.outputs.db-locations).ruby }}" - if [[ ! -d "$RUBY_DB" ]]; then - echo "Did not create a database for Ruby." - exit 1 - fi diff --git a/pr-checks/checks/ruby.yml b/pr-checks/checks/ruby.yml index 32b492f55b..3b4279aa66 100644 --- a/pr-checks/checks/ruby.yml +++ b/pr-checks/checks/ruby.yml @@ -2,8 +2,6 @@ name: "Ruby analysis" description: "Tests creation of a Ruby database" versions: ["latest", "cached", "nightly-latest"] operatingSystems: ["ubuntu", "macos"] -env: - CODEQL_ENABLE_EXPERIMENTAL_FEATURES: "true" steps: - uses: ./../action/init with: diff --git a/pr-checks/checks/swift-autobuild.yml b/pr-checks/checks/swift-autobuild.yml index df36ea9909..c68bcd4d14 100644 --- a/pr-checks/checks/swift-autobuild.yml +++ b/pr-checks/checks/swift-autobuild.yml @@ -6,6 +6,9 @@ operatingSystems: ["macos"] env: CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT: "true" steps: + - uses: swift-actions/setup-swift@5cdaa9161ad1f55ae39a5ea1784ef96de72f95d9 + with: + swift-version: "5.7" - uses: ./../action/init with: languages: swift diff --git a/pr-checks/checks/swift-custom-build.yml b/pr-checks/checks/swift-custom-build.yml index 3b2e3e889c..89aaed0c01 100644 --- a/pr-checks/checks/swift-custom-build.yml +++ b/pr-checks/checks/swift-custom-build.yml @@ -6,6 +6,9 @@ env: CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT: "true" DOTNET_GENERATE_ASPNET_CERTIFICATE: "false" steps: + - uses: swift-actions/setup-swift@5cdaa9161ad1f55ae39a5ea1784ef96de72f95d9 + with: + swift-version: "5.7" - uses: ./../action/init with: languages: swift