From f3ced614cb9be00d43303fa5579234177927dba7 Mon Sep 17 00:00:00 2001 From: Henry Mercer Date: Thu, 8 Feb 2024 14:33:27 +0000 Subject: [PATCH] Add PR checks for other build modes --- .github/workflows/__build-mode-autobuild.yml | 88 +++++++++++++++++ .github/workflows/__build-mode-manual.yml | 90 ++++++++++++++++++ pr-checks/checks/build-mode-autobuild.yml | 29 ++++++ pr-checks/checks/build-mode-manual.yml | 31 ++++++ .../.gradle/8.1.1/checksums/checksums.lock | Bin 0 -> 17 bytes .../dependencies-accessors.lock | Bin 0 -> 17 bytes .../dependencies-accessors/gc.properties | 0 .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .../.gradle/8.1.1/fileChanges/last-build.bin | Bin 0 -> 1 bytes .../.gradle/8.1.1/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes tests/java-repo/.gradle/8.1.1/gc.properties | 0 .../buildOutputCleanup.lock | Bin 0 -> 17 bytes .../buildOutputCleanup/cache.properties | 2 + tests/java-repo/.gradle/vcs-1/gc.properties | 0 tests/java-repo/bin/main/Main.class | Bin 0 -> 517 bytes 15 files changed, 240 insertions(+) create mode 100644 .github/workflows/__build-mode-autobuild.yml create mode 100644 .github/workflows/__build-mode-manual.yml create mode 100644 pr-checks/checks/build-mode-autobuild.yml create mode 100644 pr-checks/checks/build-mode-manual.yml create mode 100644 tests/java-repo/.gradle/8.1.1/checksums/checksums.lock create mode 100644 tests/java-repo/.gradle/8.1.1/dependencies-accessors/dependencies-accessors.lock create mode 100644 tests/java-repo/.gradle/8.1.1/dependencies-accessors/gc.properties create mode 100644 tests/java-repo/.gradle/8.1.1/executionHistory/executionHistory.lock create mode 100644 tests/java-repo/.gradle/8.1.1/fileChanges/last-build.bin create mode 100644 tests/java-repo/.gradle/8.1.1/fileHashes/fileHashes.lock create mode 100644 tests/java-repo/.gradle/8.1.1/gc.properties create mode 100644 tests/java-repo/.gradle/buildOutputCleanup/buildOutputCleanup.lock create mode 100644 tests/java-repo/.gradle/buildOutputCleanup/cache.properties create mode 100644 tests/java-repo/.gradle/vcs-1/gc.properties create mode 100644 tests/java-repo/bin/main/Main.class diff --git a/.github/workflows/__build-mode-autobuild.yml b/.github/workflows/__build-mode-autobuild.yml new file mode 100644 index 000000000..288eda912 --- /dev/null +++ b/.github/workflows/__build-mode-autobuild.yml @@ -0,0 +1,88 @@ +# Warning: This file is generated automatically, and should not be modified. +# Instead, please modify the template in the pr-checks directory and run: +# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py) +# to regenerate this file. + +name: PR Check - Build mode autobuild +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GO111MODULE: auto + CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true' +on: + push: + branches: + - main + - releases/v* + pull_request: + types: + - opened + - synchronize + - reopened + - ready_for_review + workflow_dispatch: {} +jobs: + build-mode-autobuild: + strategy: + matrix: + include: + - os: ubuntu-latest + version: nightly-latest + name: Build mode autobuild + permissions: + contents: read + security-events: write + timeout-minutes: 45 + runs-on: ${{ matrix.os }} + steps: + - name: Setup Python on MacOS + uses: actions/setup-python@v5 + if: >- + matrix.os == 'macos-latest' && ( + + matrix.version == 'stable-20221211' || + + matrix.version == 'stable-20230418' || + + 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' + - name: Set environment variable for Swift enablement + if: runner.os != 'Windows' && matrix.version == '20221211' + shell: bash + run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV + - name: Set up Java test repo configuration + run: | + mv * .github ../action/tests/multi-language-repo/ + mv ../action/tests/multi-language-repo/.github/workflows .github + mv ../action/tests/java-repo/* . + + - uses: ./../action/init + id: init + with: + build-mode: autobuild + db-location: ${{ runner.temp }}/customDbLocation + languages: java + tools: ${{ steps.prepare-test.outputs.tools-url }} + + - name: Validate database build mode + run: | + metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml" + build_mode=$(yq eval '.buildMode' "$metadata_path") + if [[ "$build_mode" != "autobuild" ]]; then + echo "Expected build mode to be 'autobuild' but was $build_mode" + exit 1 + fi + + - uses: ./../action/analyze + env: + CODEQL_ACTION_TEST_MODE: true diff --git a/.github/workflows/__build-mode-manual.yml b/.github/workflows/__build-mode-manual.yml new file mode 100644 index 000000000..e76295251 --- /dev/null +++ b/.github/workflows/__build-mode-manual.yml @@ -0,0 +1,90 @@ +# Warning: This file is generated automatically, and should not be modified. +# Instead, please modify the template in the pr-checks directory and run: +# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py) +# to regenerate this file. + +name: PR Check - Build mode manual +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GO111MODULE: auto + CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true' +on: + push: + branches: + - main + - releases/v* + pull_request: + types: + - opened + - synchronize + - reopened + - ready_for_review + workflow_dispatch: {} +jobs: + build-mode-manual: + strategy: + matrix: + include: + - os: ubuntu-latest + version: nightly-latest + name: Build mode manual + permissions: + contents: read + security-events: write + timeout-minutes: 45 + runs-on: ${{ matrix.os }} + steps: + - name: Setup Python on MacOS + uses: actions/setup-python@v5 + if: >- + matrix.os == 'macos-latest' && ( + + matrix.version == 'stable-20221211' || + + matrix.version == 'stable-20230418' || + + 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' + - name: Set environment variable for Swift enablement + if: runner.os != 'Windows' && matrix.version == '20221211' + shell: bash + run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV + - uses: ./../action/init + id: init + with: + build-mode: manual + db-location: ${{ runner.temp }}/customDbLocation + languages: java + tools: ${{ steps.prepare-test.outputs.tools-url }} + + - name: Validate database build mode + run: | + metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml" + build_mode=$(yq eval '.buildMode' "$metadata_path") + if [[ "$build_mode" != "manual" ]]; then + echo "Expected build mode to be 'manual' but was $build_mode" + exit 1 + fi + + - 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 + env: + CODEQL_ACTION_TEST_MODE: true diff --git a/pr-checks/checks/build-mode-autobuild.yml b/pr-checks/checks/build-mode-autobuild.yml new file mode 100644 index 000000000..7e840d15a --- /dev/null +++ b/pr-checks/checks/build-mode-autobuild.yml @@ -0,0 +1,29 @@ +name: "Build mode autobuild" +description: "An end-to-end integration test of a Java repository built using 'build-mode: autobuild'" +operatingSystems: ["ubuntu"] +versions: ["nightly-latest"] +steps: + - name: Set up Java test repo configuration + run: | + mv * .github ../action/tests/multi-language-repo/ + mv ../action/tests/multi-language-repo/.github/workflows .github + mv ../action/tests/java-repo/* . + + - uses: ./../action/init + id: init + with: + build-mode: autobuild + db-location: "${{ runner.temp }}/customDbLocation" + languages: java + tools: ${{ steps.prepare-test.outputs.tools-url }} + + - name: Validate database build mode + run: | + metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml" + build_mode=$(yq eval '.buildMode' "$metadata_path") + if [[ "$build_mode" != "autobuild" ]]; then + echo "Expected build mode to be 'autobuild' but was $build_mode" + exit 1 + fi + + - uses: ./../action/analyze diff --git a/pr-checks/checks/build-mode-manual.yml b/pr-checks/checks/build-mode-manual.yml new file mode 100644 index 000000000..623e06ffc --- /dev/null +++ b/pr-checks/checks/build-mode-manual.yml @@ -0,0 +1,31 @@ +name: "Build mode manual" +description: "An end-to-end integration test of a Java repository built using 'build-mode: manual'" +operatingSystems: ["ubuntu"] +versions: ["nightly-latest"] +steps: + - uses: ./../action/init + id: init + with: + build-mode: manual + db-location: "${{ runner.temp }}/customDbLocation" + languages: java + tools: ${{ steps.prepare-test.outputs.tools-url }} + + - name: Validate database build mode + run: | + metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml" + build_mode=$(yq eval '.buildMode' "$metadata_path") + if [[ "$build_mode" != "manual" ]]; then + echo "Expected build mode to be 'manual' but was $build_mode" + exit 1 + fi + + - 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 diff --git a/tests/java-repo/.gradle/8.1.1/checksums/checksums.lock b/tests/java-repo/.gradle/8.1.1/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..28a31f415c03a231e07a88140d5f33b39f0f40ef GIT binary patch literal 17 ScmZQJKAxixX8P5D0SW*pHUl~U literal 0 HcmV?d00001 diff --git a/tests/java-repo/.gradle/8.1.1/dependencies-accessors/dependencies-accessors.lock b/tests/java-repo/.gradle/8.1.1/dependencies-accessors/dependencies-accessors.lock new file mode 100644 index 0000000000000000000000000000000000000000..813fd10bf518a93326276b82f354864f2729fb3d GIT binary patch literal 17 ScmZP$mnmT2RC3EoPVyH~y<`Eutu*+aS8xlpfs?9~N$Td$w`bA}dX$H5W$4OsYO0xvV z{PWmop$@W3>jpA(XlYd2bn_`Q(>eS^{%!K?QZ&z?vrN&O4p1&oKO0|k(oK? e9i?*Z0~<2}ccNn