Skip to content

Commit

Permalink
Switch to shared workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
turing85 committed Aug 19, 2024
1 parent cff7630 commit 0458ec7
Show file tree
Hide file tree
Showing 10 changed files with 278 additions and 506 deletions.
96 changes: 0 additions & 96 deletions .github/actions/owasp-scan/action.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/actions/populate-cache/action.yml

This file was deleted.

225 changes: 7 additions & 218 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
paths-ignore:
- '**.gitignore'
- 'CODEOWNERS'
- 'LICENSE'
- 'LICENSE.txt'
- '**.md'
- '**.adoc'
- '**.txt'
Expand All @@ -17,7 +17,7 @@ on:
paths-ignore:
- '**.gitignore'
- 'CODEOWNERS'
- 'LICENSE'
- 'LICENSE.txt'
- '**.md'
- '**.adoc'
- '**.txt'
Expand All @@ -27,225 +27,14 @@ 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 }}

- 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 }}
build:
name: Build
uses: turing85/shared-github-workflows/.github/workflows/turing85-maven-quarkus-single-module-build.yml@main
secrets:
nvd-api-key: ${{ secrets.NVD_API_KEY }}
Loading

0 comments on commit 0458ec7

Please sign in to comment.