Skip to content

Configure GitHub workflow to cancel previous PR check in case of new #1578

Configure GitHub workflow to cancel previous PR check in case of new

Configure GitHub workflow to cancel previous PR check in case of new #1578

Workflow file for this run

name: Application
on:
push:
branches: [ main ]
paths: ['karavan-app/**', 'karavan-core/**', 'karavan-designer/**', '.github/workflows/app.yml']
workflow_dispatch:
pull_request:
branches: [ main ]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
REGISTRY: ghcr.io
TAG: 4.18.1
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Karavan
uses: actions/checkout@v6
with:
path: karavan
- name: Set up JDK 21
uses: actions/setup-java@v5
with:
distribution: adopt
java-version: 21
- name: Cache local Maven repository
uses: actions/cache@v5
with:
path: |
~/.m2/repository
!~/.m2/repository/org/apache/camel/karavan
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Create Multi Platfrom Builder
run: docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder
- name: Build application
working-directory: ./karavan/karavan-app
run: |
mvn package -DskipTests \
-Dquarkus.quinoa.package-manager-install=false \
-Dquarkus.container-image.build=true \
-Dquarkus.container-image.push=${{ github.event_name != 'pull_request' }} \
-Dquarkus.docker.buildx.platform=linux/amd64,linux/arm64 \
-Dquarkus.container-image.image=${{ env.REGISTRY }}/${GITHUB_REPOSITORY}:${{ env.TAG }} \
-Dquarkus.container-image.username=${{ github.actor }} \
-Dquarkus.container-image.password=${{ secrets.GITHUB_TOKEN }}
if: ${{ github.ref == 'refs/heads/main' }}