Change quarkus.package.type=native with quarkus.native.enabled=true #198
This file contains 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 | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- 'main' | |
paths-ignore: | |
- '**.gitignore' | |
- 'CODEOWNERS' | |
- 'LICENSE' | |
- '**.md' | |
- '**.adoc' | |
- '**.txt' | |
- '.all-contributorsrc' | |
pull_request: | |
paths-ignore: | |
- '**.gitignore' | |
- 'CODEOWNERS' | |
- 'LICENSE' | |
- '**.md' | |
- '**.adoc' | |
- '**.txt' | |
- '.all-contributorsrc' | |
concurrency: | |
group: workflow = ${{ github.workflow }}, ref = ${{ github.event.ref }}, pr = ${{ github.event.pull_request.id }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' || github.repository != 'turing85/run-query' }} | |
env: | |
DOCKER_BUILDKIT: 1 | |
GRAALVM_DISTRIBUTION: mandrel | |
GRAALVM_VERSION: mandrel-23.1.2.0-Final | |
JAVA_VERSION: 21 | |
MANDREL_VERSION: 23.1.2.0-Final | |
permissions: | |
actions: write | |
checks: write | |
pull-requests: write | |
jobs: | |
recreate-comment: | |
name: Recreate Comment | |
runs-on: ubuntu-latest | |
steps: | |
- name: Publish Report | |
uses: turing85/publish-report@v2 | |
with: | |
checkout: true | |
recreate-comment: true | |
populate-cache: | |
name: Populate Cache | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
- name: Populate Cache | |
uses: ./.github/actions/populate-cache | |
with: | |
graalvm-distribution: ${{ env.GRAALVM_DISTRIBUTION }} | |
graalvm-version: ${{ env.GRAALVM_VERSION }} | |
java-version: ${{ env.JAVA_VERSION }} | |
build-and-test-jvm: | |
name: Build and Test (JVM) | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
needs: | |
- populate-cache | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
- name: Set up ${{ env.GRAALVM_DISTRIBUTION}} ${{ env.MANDREL_VERSION }} (Java ${{ env.JAVA_VERSION }}) | |
uses: graalvm/setup-graalvm@v1 | |
with: | |
cache: 'maven' | |
distribution: ${{ env.GRAALVM_DISTRIBUTION}} | |
java-version: ${{ env.JAVA_VERSION }} | |
version: ${{ env.GRAALVM_VERSION }} | |
- name: Build and Test | |
run: | | |
./mvnw \ | |
--batch-mode \ | |
--color always \ | |
--define build-container-image \ | |
--define ci \ | |
verify | |
- name: Upload Maven State | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
if-no-files-found: error | |
name: maven-state | |
path: '**/target/maven-*' | |
retention-days: 2 | |
- name: Upload Compiled Classes | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
if-no-files-found: error | |
name: compiled-classes | |
path: '**/target/*classes' | |
retention-days: 2 | |
- name: Upload JARs | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
if-no-files-found: error | |
name: jars | |
path: '**/target/*.jar' | |
retention-days: 2 | |
- name: Upload Fast-JAR | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
if-no-files-found: error | |
name: fast-jar | |
path: 'target/quarkus-app' | |
retention-days: 2 | |
- name: Upload Test Report | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
if-no-files-found: error | |
name: test-report-jvm | |
path: '**/target/**/TEST*.xml' | |
retention-days: 2 | |
build-and-test-native: | |
name: Build and Test (Native) | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
needs: | |
- populate-cache | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
- name: Set up ${{ env.GRAALVM_DISTRIBUTION}} ${{ env.MANDREL_VERSION }} (Java ${{ env.JAVA_VERSION }}) | |
uses: graalvm/setup-graalvm@v1 | |
with: | |
cache: 'maven' | |
distribution: ${{ env.GRAALVM_DISTRIBUTION}} | |
java-version: ${{ env.JAVA_VERSION }} | |
version: ${{ env.GRAALVM_VERSION }} | |
# TODO: Remove if bug in quarkus is fixed | |
- name: Pre-pull builder-image | |
run: | | |
docker pull quay.io/quarkus/ubi-quarkus-mandrel-builder-image:23.0-java17@sha256:2016d11266d8a8beb3fa76b0d12cc4399e99821afaeac32e2273d3cc1b2bda0b | |
- name: Build and Test | |
run: | | |
./mvnw \ | |
--batch-mode \ | |
--color always \ | |
--define build-container-image \ | |
--define ci \ | |
--define native-compressed \ | |
verify | |
- name: Upload executable | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
if-no-files-found: error | |
name: executable | |
path: | | |
target/*-runner | |
target/*.so | |
retention-days: 2 | |
- name: Upload Test Report | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
if-no-files-found: error | |
name: test-report-native | |
path: '**/target/**/TEST*.xml' | |
retention-days: 2 | |
test-report-jvm: | |
name: Test Report (JVM) | |
runs-on: ubuntu-latest | |
needs: | |
- recreate-comment | |
- build-and-test-jvm | |
steps: | |
- name: Publish report (JVM Test) | |
uses: turing85/publish-report@v2 | |
if: ${{ always() }} | |
with: | |
cancel-workflow-on-error: true | |
checkout: true | |
download-artifact-name: test-report-jvm | |
report-name: JVM Test | |
report-only-summary: true | |
report-path: '**/target/**/TEST*.xml' | |
test-report-native: | |
name: Test Report (Native) | |
runs-on: ubuntu-latest | |
needs: | |
- recreate-comment | |
- build-and-test-native | |
steps: | |
- name: Publish Report (Native Test) | |
uses: turing85/publish-report@v2 | |
if: ${{ always() }} | |
with: | |
cancel-workflow-on-error: true | |
checkout: true | |
download-artifact-name: test-report-native | |
report-name: Native Test | |
report-only-summary: true | |
report-path: '**/target/**/TEST*.xml' | |
owasp: | |
name: OWASP Scan | |
runs-on: ubuntu-latest | |
needs: | |
- recreate-comment | |
- build-and-test-jvm | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
- name: OWASP Scan | |
uses: ./.github/actions/owasp-scan | |
with: | |
graalvm-distribution: ${{ env.GRAALVM_DISTRIBUTION }} | |
graalvm-version: ${{ env.GRAALVM_DISTRIBUTION }}-${{ env.MANDREL_VERSION }} | |
java-version: ${{ env.JAVA_VERSION }} | |
nvd-api-key: ${{ secrets.NVD_API_KEY }} |