From a60f8d3705508df6114aa6f9f144d8c4db54470e Mon Sep 17 00:00:00 2001 From: alexm Date: Sat, 27 Jun 2026 15:34:46 -0400 Subject: [PATCH] ci: add builder pipeline analogs of the GitHub Actions workflows Translate maven.yml (CI build) and maven_release.yml (Maven Central release) into .builder/pipelines/*.yml for the builder CI/CD platform. Additive and inert until a builder webhook is wired. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01DwSZP6cxy4haqynzgcNHVV --- .builder/pipelines/maven-release.yml | 42 ++++++++++++++++++++++++++++ .builder/pipelines/maven.yml | 19 +++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 .builder/pipelines/maven-release.yml create mode 100644 .builder/pipelines/maven.yml diff --git a/.builder/pipelines/maven-release.yml b/.builder/pipelines/maven-release.yml new file mode 100644 index 0000000..8c4b8b2 --- /dev/null +++ b/.builder/pipelines/maven-release.yml @@ -0,0 +1,42 @@ +name: Maven Release + +on: [manual] + +inputs: + releaseVersion: + type: string + description: "Release version" + required: true + nextVersion: + type: string + description: "Next development version (with -SNAPSHOT suffix)" + required: true + +jobs: + release: + image: maven:3.9-eclipse-temurin-21 + cache: + key: m2-jsupervisor + paths: [.m2/repository] + secrets: [OSSRH_USERNAME, OSSRH_PASSWORD, GPG_PRIVATE_KEY, GPG_PASSPHRASE] + steps: + - name: Checkout + run: git clone https://github.com/alexmond/jsupervisor.git . + - name: Configure Git User + run: | + git config user.name "Builder CI" + git config user.email "ci@example.com" + - name: Prepare release + run: | + mvn versions:set -DnewVersion=$releaseVersion -Pdefault --no-transfer-progress -Dmaven.repo.local=.m2/repository + git commit -am "Prepare release $releaseVersion" + git tag -a "$releaseVersion" -m "Release $releaseVersion" + - name: Deploy to Maven Central + run: | + mkdir -p ~/.m2 + cp .github/settings.xml ~/.m2/settings.xml + mvn --batch-mode -Dgpg.passphrase="$GPG_PASSPHRASE" clean deploy -Prelease --no-transfer-progress -Dmaven.repo.local=.m2/repository + - name: Prepare next development version + run: | + mvn versions:set -DnewVersion=$nextVersion -Pdefault --no-transfer-progress -Dmaven.repo.local=.m2/repository + git commit -am "Prepare for next development iteration: $nextVersion" diff --git a/.builder/pipelines/maven.yml b/.builder/pipelines/maven.yml new file mode 100644 index 0000000..e4a5339 --- /dev/null +++ b/.builder/pipelines/maven.yml @@ -0,0 +1,19 @@ +name: Java CI with Maven + +on: [push, manual] +push: + branches: [main] + +jobs: + build: + image: maven:3.9-eclipse-temurin-21 + cache: + key: m2-jsupervisor + paths: [.m2/repository] + steps: + - name: Checkout + run: git clone --depth 1 https://github.com/alexmond/jsupervisor.git . + - name: Build with Maven + run: mvn -B package --file pom.xml -Pdefault --no-transfer-progress -Dmaven.repo.local=.m2/repository + artifacts: + - "**/surefire-reports/TEST-*.xml"