From e42f5e576890b29aad4f6d0e9b2400f2d9fff619 Mon Sep 17 00:00:00 2001 From: Henry Mercer Date: Tue, 28 Mar 2023 20:41:54 +0100 Subject: [PATCH 1/3] Revert "Disable flaky Swift autobuild checks" This reverts commit ff39eb8d6aee513461d154984c47fb0bc1ce875d. --- .github/workflows/__swift-autobuild.yml | 72 +++++++++++++++++++++++++ pr-checks/checks/swift-autobuild.yml | 33 ++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 .github/workflows/__swift-autobuild.yml create mode 100644 pr-checks/checks/swift-autobuild.yml diff --git a/.github/workflows/__swift-autobuild.yml b/.github/workflows/__swift-autobuild.yml new file mode 100644 index 0000000000..829a82975c --- /dev/null +++ b/.github/workflows/__swift-autobuild.yml @@ -0,0 +1,72 @@ +# 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 - Swift analysis using autobuild +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: + swift-autobuild: + strategy: + matrix: + include: + - os: macos-latest + version: latest + - os: macos-latest + version: cached + - os: macos-latest + version: nightly-latest + name: Swift analysis using autobuild + 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 + id: init + with: + languages: swift + tools: ${{ steps.prepare-test.outputs.tools-url }} + - uses: ./../action/.github/setup-swift + with: + codeql-path: ${{steps.init.outputs.codeql-path}} + - name: Check working directory + shell: bash + run: pwd + - uses: ./../action/autobuild + timeout-minutes: 10 + - uses: ./../action/analyze + id: analysis + with: + upload-database: false + - name: Check database + shell: bash + run: | + SWIFT_DB="${{ fromJson(steps.analysis.outputs.db-locations).swift }}" + if [[ ! -d "$SWIFT_DB" ]]; then + echo "Did not create a database for Swift." + exit 1 + fi + env: + CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT: 'true' # Remove when Swift is GA. + CODEQL_ACTION_TEST_MODE: true diff --git a/pr-checks/checks/swift-autobuild.yml b/pr-checks/checks/swift-autobuild.yml new file mode 100644 index 0000000000..dd48197700 --- /dev/null +++ b/pr-checks/checks/swift-autobuild.yml @@ -0,0 +1,33 @@ +name: "Swift analysis using autobuild" +description: "Tests creation of a Swift database using autobuild" +versions: ["latest", "cached", "nightly-latest"] +# Swift autobuilder is only supported on MacOS for private beta +operatingSystems: ["macos"] +env: + CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT: "true" # Remove when Swift is GA. +steps: + - uses: ./../action/init + id: init + with: + languages: swift + tools: ${{ steps.prepare-test.outputs.tools-url }} + - uses: ./../action/.github/setup-swift + with: + codeql-path: ${{steps.init.outputs.codeql-path}} + - name: Check working directory + shell: bash + run: pwd + - uses: ./../action/autobuild + timeout-minutes: 10 + - uses: ./../action/analyze + id: analysis + with: + upload-database: false + - name: Check database + shell: bash + run: | + SWIFT_DB="${{ fromJson(steps.analysis.outputs.db-locations).swift }}" + if [[ ! -d "$SWIFT_DB" ]]; then + echo "Did not create a database for Swift." + exit 1 + fi From 7a14c3b11e0ccea76bb4fd78eaec3ea971a936be Mon Sep 17 00:00:00 2001 From: Andrew Eisenberg Date: Fri, 13 Oct 2023 13:23:12 -0700 Subject: [PATCH 2/3] Update tests --- .github/workflows/__swift-autobuild.yml | 24 ++++++++++++++++-------- pr-checks/checks/swift-autobuild.yml | 5 +++-- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.github/workflows/__swift-autobuild.yml b/.github/workflows/__swift-autobuild.yml index 829a82975c..f2fb325c3f 100644 --- a/.github/workflows/__swift-autobuild.yml +++ b/.github/workflows/__swift-autobuild.yml @@ -1,6 +1,6 @@ # 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 +# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py) # to regenerate this file. name: PR Check - Swift analysis using autobuild @@ -25,29 +25,37 @@ jobs: strategy: matrix: include: - - os: macos-latest - version: latest - - os: macos-latest - version: cached - os: macos-latest version: nightly-latest name: Swift analysis using autobuild + permissions: + contents: read + security-events: write timeout-minutes: 45 runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Prepare test id: prepare-test - uses: ./.github/prepare-test + uses: ./.github/actions/prepare-test with: version: ${{ matrix.version }} + use-all-platform-bundle: 'false' + - name: Set environment variable for Swift enablement + if: >- + runner.os != 'Windows' && ( + matrix.version == '20220908' || + matrix.version == '20221211' + ) + shell: bash + run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV - uses: ./../action/init id: init with: languages: swift tools: ${{ steps.prepare-test.outputs.tools-url }} - - uses: ./../action/.github/setup-swift + - uses: ./../action/.github/actions/setup-swift with: codeql-path: ${{steps.init.outputs.codeql-path}} - name: Check working directory diff --git a/pr-checks/checks/swift-autobuild.yml b/pr-checks/checks/swift-autobuild.yml index dd48197700..f0a0cedfae 100644 --- a/pr-checks/checks/swift-autobuild.yml +++ b/pr-checks/checks/swift-autobuild.yml @@ -1,6 +1,7 @@ name: "Swift analysis using autobuild" description: "Tests creation of a Swift database using autobuild" -versions: ["latest", "cached", "nightly-latest"] +# versions: ["latest", "cached", "nightly-latest"] +versions: ["nightly-latest"] # Swift autobuilder is only supported on MacOS for private beta operatingSystems: ["macos"] env: @@ -11,7 +12,7 @@ steps: with: languages: swift tools: ${{ steps.prepare-test.outputs.tools-url }} - - uses: ./../action/.github/setup-swift + - uses: ./../action/.github/actions/setup-swift with: codeql-path: ${{steps.init.outputs.codeql-path}} - name: Check working directory From e7ce02a54756ee8093ca80641a0f32885661f061 Mon Sep 17 00:00:00 2001 From: Henry Mercer Date: Mon, 17 Jun 2024 11:36:34 +0100 Subject: [PATCH 3/3] Regenerate PR checks --- .github/workflows/__swift-autobuild.yml | 105 +++++++++++++----------- 1 file changed, 56 insertions(+), 49 deletions(-) diff --git a/.github/workflows/__swift-autobuild.yml b/.github/workflows/__swift-autobuild.yml index f2fb325c3f..3fc353ceaa 100644 --- a/.github/workflows/__swift-autobuild.yml +++ b/.github/workflows/__swift-autobuild.yml @@ -11,22 +11,25 @@ env: on: push: branches: - - main - - releases/v2 + - main + - releases/v* pull_request: types: - - opened - - synchronize - - reopened - - ready_for_review + - opened + - synchronize + - reopened + - ready_for_review + schedule: + - cron: '0 5 * * *' workflow_dispatch: {} jobs: swift-autobuild: strategy: + fail-fast: false matrix: include: - - os: macos-latest - version: nightly-latest + - os: macos-latest + version: nightly-latest name: Swift analysis using autobuild permissions: contents: read @@ -34,47 +37,51 @@ jobs: timeout-minutes: 45 runs-on: ${{ matrix.os }} steps: - - name: Check out repository - uses: actions/checkout@v4 - - name: Prepare test - id: prepare-test - uses: ./.github/actions/prepare-test - with: - version: ${{ matrix.version }} - use-all-platform-bundle: 'false' - - name: Set environment variable for Swift enablement - if: >- - runner.os != 'Windows' && ( - matrix.version == '20220908' || - matrix.version == '20221211' - ) - shell: bash - run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV - - uses: ./../action/init - id: init - with: - languages: swift - tools: ${{ steps.prepare-test.outputs.tools-url }} - - uses: ./../action/.github/actions/setup-swift - with: - codeql-path: ${{steps.init.outputs.codeql-path}} - - name: Check working directory - shell: bash - run: pwd - - uses: ./../action/autobuild - timeout-minutes: 10 - - uses: ./../action/analyze - id: analysis - with: - upload-database: false - - name: Check database - shell: bash - run: | - SWIFT_DB="${{ fromJson(steps.analysis.outputs.db-locations).swift }}" - if [[ ! -d "$SWIFT_DB" ]]; then - echo "Did not create a database for Swift." - exit 1 - fi + - name: Setup Python on MacOS + uses: actions/setup-python@v5 + if: >- + runner.os == 'macOS' && ( + + matrix.version == 'stable-20230403' || + + matrix.version == 'stable-v2.13.5' || + + matrix.version == 'stable-v2.14.6') + with: + python-version: '3.11' + - name: Check out repository + uses: actions/checkout@v4 + - name: Prepare test + id: prepare-test + uses: ./.github/actions/prepare-test + with: + version: ${{ matrix.version }} + use-all-platform-bundle: 'false' + - uses: ./../action/init + id: init + with: + languages: swift + tools: ${{ steps.prepare-test.outputs.tools-url }} + - uses: ./../action/.github/actions/setup-swift + with: + codeql-path: ${{steps.init.outputs.codeql-path}} + - name: Check working directory + shell: bash + run: pwd + - uses: ./../action/autobuild + timeout-minutes: 10 + - uses: ./../action/analyze + id: analysis + with: + upload-database: false + - name: Check database + shell: bash + run: | + SWIFT_DB="${{ fromJson(steps.analysis.outputs.db-locations).swift }}" + if [[ ! -d "$SWIFT_DB" ]]; then + echo "Did not create a database for Swift." + exit 1 + fi env: CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT: 'true' # Remove when Swift is GA. CODEQL_ACTION_TEST_MODE: true