Skip to content

Commit

Permalink
Merge pull request #214 from smallrye/ci/new-release-workflow
Browse files Browse the repository at this point in the history
Use the new SmallRye release workflows
  • Loading branch information
jponge authored Oct 19, 2024
2 parents 2d54853 + 198c53c commit 35a76e9
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 83 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/build-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ jobs:
java: [
{ 'version': '11', 'opts': '' },
{ 'version': '17', 'opts': '' },
{ 'version': '21', 'opts': '' }
{ 'version': '21', 'opts': '' },
{ 'version': '23', 'opts': '' }
]
name: Build with Java ${{ matrix.java.version }} (OpenJDK)
steps:
Expand Down
35 changes: 11 additions & 24 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,18 @@
name: Pre-release workflow
name: SmallRye Prepare Release

on:
pull_request:
types: [ closed ]
paths:
- '.github/project.yml'

jobs:
pre-release:
runs-on: ubuntu-latest
name: Pre-release

steps:
- uses: radcortez/project-metadata-action@main
name: retrieve project metadata
id: metadata
with:
github-token: ${{secrets.GITHUB_TOKEN}}
metadata-file-path: '.github/project.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

- name: Validate version
if: contains(steps.metadata.outputs.current-version, 'SNAPSHOT')
run: |
echo '::error::Cannot release a SNAPSHOT version.'
exit 1
- uses: radcortez/milestone-review-action@main
name: milestone review
with:
github-token: ${{secrets.GITHUB_TOKEN}}
milestone-title: ${{steps.metadata.outputs.current-version}}
jobs:
prepare-release:
name: Prepare Release
if: ${{ github.event.pull_request.merged == true}}
uses: smallrye/.github/.github/workflows/prepare-release.yml@main
secrets: inherit
83 changes: 25 additions & 58 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,62 +1,29 @@
name: Release workflow

name: SmallRye Release
run-name: Perform ${{github.event.inputs.tag || github.ref_name}} Release
on:
pull_request:
types: [closed]
paths:
- '.github/project.yml'

jobs:
release:
runs-on: ubuntu-latest
name: release
if: ${{github.event.pull_request.merged == true}}
env:
GITHUB_TOKEN: ${{secrets.RELEASE_TOKEN}}
push:
tags:
- '*'
workflow_dispatch:
inputs:
tag:
description: 'Tag to release'
required: true

steps:
- uses: radcortez/project-metadata-action@main
name: retrieve project metadata
id: metadata
with:
github-token: ${{secrets.GITHUB_TOKEN}}
metadata-file-path: '.github/project.yml'
permissions:
attestations: write
id-token: write
# Needed for the publish-* workflows
contents: write

- uses: actions/checkout@v4
with:
token: ${{secrets.RELEASE_TOKEN}}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

- uses: actions/setup-java@v4
name: Set up JDK 11
with:
distribution: temurin
java-version: 11
cache: maven
server-id: 'oss.sonatype'
server-username: 'MAVEN_DEPLOY_USERNAME'
server-password: 'MAVEN_DEPLOY_TOKEN'
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
gpg-passphrase: 'MAVEN_GPG_PASSPHRASE'

- name: maven release ${{steps.metadata.outputs.current-version}}
env:
MAVEN_DEPLOY_USERNAME: ${{ secrets.MAVEN_DEPLOY_USERNAME }}
MAVEN_DEPLOY_TOKEN: ${{ secrets.MAVEN_DEPLOY_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
run: |
java -version
git config --global user.name "SmallRye CI"
git config --global user.email "smallrye@googlegroups.com"
git checkout -b release
./mvnw -B release:prepare -Prelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}}
git checkout ${{github.base_ref}}
git rebase release
./mvnw -B release:perform -Prelease
git push
git push --tags
- uses: radcortez/milestone-release-action@main
name: milestone release
with:
github-token: ${{secrets.GITHUB_TOKEN}}
milestone-title: ${{steps.metadata.outputs.current-version}}
jobs:
perform-release:
name: Perform Release
uses: smallrye/.github/.github/workflows/perform-release.yml@main
secrets: inherit
with:
version: ${{github.event.inputs.tag || github.ref_name}}

0 comments on commit 35a76e9

Please sign in to comment.