diff --git a/.github/workflows/__test-autobuild-working-dir.yml b/.github/workflows/__test-autobuild-working-dir.yml new file mode 100644 index 0000000000..716628d9e5 --- /dev/null +++ b/.github/workflows/__test-autobuild-working-dir.yml @@ -0,0 +1,67 @@ +# 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 - Autobuild working directory +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GO111MODULE: auto +on: + push: + branches: + - main + - v1 + - v2 + pull_request: + types: + - opened + - synchronize + - reopened + - ready_for_review + workflow_dispatch: {} +jobs: + test-autobuild-working-dir: + strategy: + matrix: + include: + - os: ubuntu-latest + version: latest + name: Autobuild working directory + 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: Test setup + shell: bash + run: | + # Make sure that Gradle build succeeds in autobuild-dir ... + cp -a ../action/tests/java-repo autobuild-dir + # ... and fails if attempted in the current directory + echo > build.gradle + - uses: ./../action/init + with: + languages: java + tools: ${{ steps.prepare-test.outputs.tools-url }} + - uses: ./../action/autobuild + with: + working-directory: autobuild-dir + - uses: ./../action/analyze + env: + TEST_MODE: true + - name: Check database + shell: bash + run: | + cd "$RUNNER_TEMP/codeql_databases" + if [[ ! -d java ]]; then + echo "Did not find a Java database" + exit 1 + fi + env: + INTERNAL_CODEQL_ACTION_DEBUG_LOC: true diff --git a/pr-checks/checks/test-autobuild-working-dir.yml b/pr-checks/checks/test-autobuild-working-dir.yml new file mode 100644 index 0000000000..8d75c9e31a --- /dev/null +++ b/pr-checks/checks/test-autobuild-working-dir.yml @@ -0,0 +1,30 @@ +name: "Autobuild working directory" +description: "Tests working-directory input of autobuild action" +versions: ["latest"] +os: ["ubuntu-latest"] +steps: + - name: Test setup + shell: bash + run: | + # Make sure that Gradle build succeeds in autobuild-dir ... + cp -a ../action/tests/java-repo autobuild-dir + # ... and fails if attempted in the current directory + echo > build.gradle + - uses: ./../action/init + with: + languages: java + tools: ${{ steps.prepare-test.outputs.tools-url }} + - uses: ./../action/autobuild + with: + working-directory: autobuild-dir + - uses: ./../action/analyze + env: + TEST_MODE: true + - name: Check database + shell: bash + run: | + cd "$RUNNER_TEMP/codeql_databases" + if [[ ! -d java ]]; then + echo "Did not find a Java database" + exit 1 + fi diff --git a/tests/java-repo/build.gradle b/tests/java-repo/build.gradle new file mode 100644 index 0000000000..591d77bda1 --- /dev/null +++ b/tests/java-repo/build.gradle @@ -0,0 +1,12 @@ +plugins { + id 'application' +} + +repositories { + mavenCentral() +} + +application { + mainClass = 'Main' +} + diff --git a/tests/java-repo/src/main/java/Main.java b/tests/java-repo/src/main/java/Main.java new file mode 100644 index 0000000000..9c8b016543 --- /dev/null +++ b/tests/java-repo/src/main/java/Main.java @@ -0,0 +1,8 @@ +class Main { + public static void main(String args[]) { + if (true) { + System.out.println("Hello, World!"); + } + } +} +