From 6eb1ed2d976c0399691193c10af62a1f8dfebd2d Mon Sep 17 00:00:00 2001 From: abrs Date: Wed, 27 May 2026 14:58:49 +0200 Subject: [PATCH 1/4] Automation: Unify configuration into config.ini --- config.ini | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 config.ini diff --git a/config.ini b/config.ini new file mode 100644 index 00000000..5570b6ed --- /dev/null +++ b/config.ini @@ -0,0 +1,20 @@ +# ========================================================== +# PIPELINE CONFIGURATION (GitHub Actions / Local) +# ========================================================== +# This file is used by the CI/CD pipelines to set up the +# Java and Maven build environment, as well as Docker builds. +# ========================================================== + +[build] +# Java build version (required, default is 8) +java_build_version = 11 + +# Maven version (required, default is 3.9.9) +maven_version = 3.9.9 + +# Additional flags for maven (optional, e.g., -ntp -B -DskipTests) +maven_extra_flags = + +# ========================================================== +# DOCKER BUILD CONFIGURATION +# ========================================================== \ No newline at end of file From 02e8e5877ef2ddc6ecf98ea9a8935395cf3716eb Mon Sep 17 00:00:00 2001 From: abrs Date: Wed, 27 May 2026 14:58:51 +0200 Subject: [PATCH 2/4] Automation: Add or update workflow 'README.md' --- .github/workflows/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/workflows/README.md diff --git a/.github/workflows/README.md b/.github/workflows/README.md new file mode 100644 index 00000000..1657e79a --- /dev/null +++ b/.github/workflows/README.md @@ -0,0 +1,19 @@ +# Workflows + +### Maven Tests +- Definition + - run `mvn clean install` +- Trigger + - on pull request / push to branch + +### Maven Release +- Definition + - run `mvn clean install` + - run `mvn release:prepare` + - run `mvn release:perform` + - push the release on gcs ua-ops-artifacts/airship-maven-artifacts +- Trigger + - on merge to Main/Master + - workflow_dispatch (manual trigger) + +📖 For full documentation on how these workflows and configuration files work, please refer to the [urbanairship/java-env repository](https://github.com/urbanairship/java-env#github-actions-and-workflows). \ No newline at end of file From e297b8de3a7ac681ab0315278ad4ce321ee041b0 Mon Sep 17 00:00:00 2001 From: abrs Date: Wed, 27 May 2026 14:58:54 +0200 Subject: [PATCH 3/4] Automation: Add or update workflow 'maven-release.yaml' --- .github/workflows/maven-release.yaml | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/maven-release.yaml diff --git a/.github/workflows/maven-release.yaml b/.github/workflows/maven-release.yaml new file mode 100644 index 00000000..e08751e0 --- /dev/null +++ b/.github/workflows/maven-release.yaml @@ -0,0 +1,29 @@ +name: Perform Maven Release + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: false + +on: + push: + branches: + - master + paths: + - 'pom.xml' + - '**/src/**' + - '**/pom.xml' + workflow_dispatch: + +jobs: + maven-release: + name: Maven Release + runs-on: [ self-hosted, ubuntu ] + + steps: + - id: release + uses: urbanairship/java-env/actions/airship-maven-release@master + with: + dry-run: false + java-build-sa-key: ${{ secrets.JAVA_BUILD_SA_KEY }} + gh-token: ${{ secrets.JAVA_BUILD_GH_TOKEN }} + additionalCommentPrefix: "[skip ci]" From 816a3b8204490ac62e455eea6adeeb9ca2c8cdf3 Mon Sep 17 00:00:00 2001 From: abrs Date: Wed, 27 May 2026 14:58:56 +0200 Subject: [PATCH 4/4] Automation: Add or update workflow 'maven-tests.yaml' --- .github/workflows/maven-tests.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/maven-tests.yaml diff --git a/.github/workflows/maven-tests.yaml b/.github/workflows/maven-tests.yaml new file mode 100644 index 00000000..a16b1d3b --- /dev/null +++ b/.github/workflows/maven-tests.yaml @@ -0,0 +1,25 @@ +name: Maven Tests + +run-name: Maven Tests on branch ${{ github.ref_name }} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +on: + pull_request: + workflow_dispatch: + +jobs: + build: + runs-on: [self-hosted, ubuntu] + steps: + - name: Set up Airship Java Environment + uses: urbanairship/java-env/actions/setup-airship-java-env@master + with: + java-build-sa-key: ${{ secrets.JAVA_BUILD_SA_KEY }} + gh-token: ${{ secrets.JAVA_BUILD_GH_TOKEN }} + + - name: Build with Maven + shell: bash + run: mvn clean install -e -T 1C ${{ env.MAVEN_EXTRA_FLAGS }}