From a1c77804d5541b35b776244c4e8708ebd2215cf5 Mon Sep 17 00:00:00 2001 From: Jean-Kevin KPADEY Date: Wed, 16 Sep 2026 10:53:10 +0200 Subject: [PATCH 1/2] ci(release): gate release on Maven verification --- .github/workflows/maven-verify.yml | 42 ++++++++++++++++++++++++++ .github/workflows/release.yml | 47 ------------------------------ 2 files changed, 42 insertions(+), 47 deletions(-) delete mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index fd7d49f0..3bdef061 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -88,3 +88,45 @@ jobs: distribution: 'adopt' - name: Generate the javadoc run: mvn --batch-mode -ntp install -DskipTests && mvn --batch-mode -ntp javadoc:javadoc + + release: + runs-on: ubuntu-latest + needs: verify + if: github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.verify.result == 'success' + concurrency: + group: release + cancel-in-progress: false + permissions: + contents: write + issues: write + pull-requests: write + id-token: write + steps: + - uses: actions/checkout@v7 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version: 'lts/*' + cache: npm + - name: Setup Java + uses: actions/setup-java@v5 + with: + distribution: 'adopt' + java-version: '21' + cache: 'maven' + server-id: central + server-username: MAVEN_CENTRAL_USERNAME + server-password: MAVEN_CENTRAL_PASSWORD + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE + - name: Install semantic-release dependencies + run: npm ci --ignore-scripts + - name: Run semantic-release + run: npx semantic-release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} + MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 174d9963..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Release - -on: - push: - branches: - - main - -permissions: - contents: read - -jobs: - release: - runs-on: ubuntu-latest - permissions: - contents: write - issues: write - pull-requests: write - id-token: write - steps: - - uses: actions/checkout@v7 - with: - fetch-depth: 0 - - name: Setup Node.js - uses: actions/setup-node@v6 - with: - node-version: 'lts/*' - cache: npm - - name: Setup Java - uses: actions/setup-java@v5 - with: - distribution: 'adopt' - java-version: '21' - cache: 'maven' - server-id: central - server-username: MAVEN_CENTRAL_USERNAME - server-password: MAVEN_CENTRAL_PASSWORD - gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} - gpg-passphrase: MAVEN_GPG_PASSPHRASE - - name: Install semantic-release dependencies - run: npm ci --ignore-scripts - - name: Run semantic-release - run: npx semantic-release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} - MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} \ No newline at end of file From 2274c3f1810b6095d37d99d6cd465260108e6439 Mon Sep 17 00:00:00 2001 From: Jean-Kevin KPADEY Date: Sat, 19 Sep 2026 12:16:46 +0200 Subject: [PATCH 2/2] ci(release): run locked local semantic-release binary --- .github/workflows/maven-verify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 3bdef061..34a70ba3 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -124,7 +124,7 @@ jobs: - name: Install semantic-release dependencies run: npm ci --ignore-scripts - name: Run semantic-release - run: npx semantic-release + run: ./node_modules/.bin/semantic-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}