Do not assume target branch is on the same fork as the CI #763
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and test | |
| on: | |
| push: | |
| paths-ignore: | |
| - '**/*.md' | |
| - '**/images/**' | |
| - '.github/dependabot.yml' | |
| branches: | |
| - main | |
| - ootb | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| - reopened | |
| - ready_for_review | |
| branches: | |
| - main | |
| - ootb | |
| paths-ignore: | |
| - '**/*.md' | |
| - '**/images/**' | |
| - '.github/dependabot.yml' | |
| workflow_dispatch: | |
| concurrency: | |
| group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.ref }}, pr = ${{ github.event.pull_request.id }}" | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| script-tests: | |
| runs-on: ubuntu-latest | |
| name: "Script unit tests" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Run script tests | |
| working-directory: scripts/perf-lab/tests | |
| run: ./run-benchmarks-tests.sh | |
| jvm-build-test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| java: | |
| - '21' | |
| - '25' | |
| app: | |
| - { "name": "springboot3", "dir": "springboot3", "build-args": "", "run-args": "", "app-jar": "target/springboot3.jar", "isSpringLeyden": false } | |
| - { "name": "springboot3-leyden", "dir": "springboot3", "build-args": "", "run-args": "-XX:AOTCache=target/app.aot", "app-jar": "target/springboot3.jar", "isSpringLeyden": true } | |
| - { "name": "springboot3-virtual", "dir": "springboot3", "build-args": "-Dspring.threads.virtual.enabled=true", "run-args": "", "app-jar": "target/springboot3.jar", "isSpringLeyden": false } | |
| - { "name": "springboot3-virtual-leyden", "dir": "springboot3", "build-args": "-Dspring.threads.virtual.enabled=true", "run-args": "-XX:AOTCache=target/app.aot", "app-jar": "target/springboot3.jar", "isSpringLeyden": true } | |
| - { "name": "springboot4", "dir": "springboot4", "build-args": "", "run-args": "", "app-jar": "target/springboot4.jar", "isSpringLeyden": false } | |
| - { "name": "springboot4-leyden", "dir": "springboot4", "build-args": "", "run-args": "-XX:AOTCache=target/app.aot", "app-jar": "target/springboot4.jar", "isSpringLeyden": true } | |
| - { "name": "springboot4-virtual", "dir": "springboot4", "build-args": "-Dspring.threads.virtual.enabled=true", "run-args": "", "app-jar": "target/springboot4.jar", "isSpringLeyden": false } | |
| - { "name": "springboot4-virtual-leyden", "dir": "springboot4", "build-args": "-Dspring.threads.virtual.enabled=true", "run-args": "-XX:AOTCache=target/app.aot", "app-jar": "target/springboot4.jar", "isSpringLeyden": true } | |
| - { "name": "quarkus3", "dir": "quarkus3", "build-args": "", "run-args": "", "app-jar": "target/quarkus-app/quarkus-run.jar", "isSpringLeyden": false } | |
| - { "name": "quarkus3-leyden", "dir": "quarkus3", "build-args": "-Dquarkus.package.jar.aot.enabled=true", "run-args": "-XX:AOTCache=target/quarkus-app/app.aot", "app-jar": "target/quarkus-app/quarkus-run.jar", "isSpringLeyden": false } | |
| - { "name": "quarkus3-virtual", "dir": "quarkus3-virtual", "build-args": "", "run-args": "", "app-jar": "target/quarkus-app/quarkus-run.jar", "isSpringLeyden": false } | |
| - { "name": "quarkus3-virtual-leyden", "dir": "quarkus3-virtual", "build-args": "-Dquarkus.package.jar.aot.enabled=true", "run-args": "-XX:AOTCache=target/quarkus-app/app.aot", "app-jar": "target/quarkus-app/quarkus-run.jar", "isSpringLeyden": false } | |
| - { "name": "quarkus3-spring-compatibility", "dir": "quarkus3-spring-compatibility", "build-args": "", "run-args": "", "app-jar": "target/quarkus-app/quarkus-run.jar", "isSpringLeyden": false } | |
| exclude: | |
| - java: '21' | |
| app: | |
| name: quarkus3-leyden | |
| - java: '21' | |
| app: | |
| name: quarkus3-virtual-leyden | |
| - java: '21' | |
| app: | |
| name: springboot3-leyden | |
| - java: '21' | |
| app: | |
| name: springboot3-virtual-leyden | |
| - java: '21' | |
| app: | |
| name: springboot4-leyden | |
| - java: '21' | |
| app: | |
| name: springboot4-virtual-leyden | |
| name: "[jvm-build-test-java${{ matrix.java }}]: ${{ matrix.app.name }}" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Java ${{ matrix.java }} | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: ${{ matrix.java }} | |
| distribution: temurin | |
| cache: maven | |
| - name: Build and test (non Spring leyden) | |
| if: matrix.app.isSpringLeyden == false | |
| working-directory: ${{ matrix.app.dir }} | |
| run: | | |
| ./mvnw -B clean verify ${{ matrix.app.build-args }} \ | |
| -Dmaven.compiler.release=${{ matrix.java }} \ | |
| -Djava.version=${{ matrix.java }} | |
| - name: Build and test (Spring leyden) | |
| if: matrix.app.isSpringLeyden == true | |
| working-directory: ${{ matrix.app.dir }} | |
| run: | | |
| # Start the services | |
| ../scripts/infra.sh -s | |
| # Build and run the app tests | |
| ./mvnw -B clean verify ${{ matrix.app.build-args }} \ | |
| -Dmaven.compiler.release=${{ matrix.java }} \ | |
| -Djava.version=${{ matrix.java }} | |
| # Training run | |
| java -Djarmode=tools -jar ${{ matrix.app.app-jar }} extract --destination target/aot-app && \ | |
| java -XX:AOTCacheOutput=target/app.aot -Dspring.context.exit=onRefresh -jar ${{ matrix.app.app-jar }} | |
| # Stop the services | |
| ../scripts/infra.sh -d | |
| - name: Setup JBang | |
| uses: jbangdev/setup-jbang@main | |
| - name: Validate simple scripts | |
| working-directory: ${{ matrix.app.dir }} | |
| run: | | |
| ../scripts/stress.sh "${{ matrix.app.app-jar }}" | |
| ../scripts/1strequest.sh "java -XX:ActiveProcessorCount=4 -Xms512m -Xmx512m ${{ matrix.app.run-args }} -jar ${{ matrix.app.app-jar }}" 3 |