Skip to content

Commit

Permalink
Merge pull request #576 from radcortez/release
Browse files Browse the repository at this point in the history
Split and Reuse the Release workflow
  • Loading branch information
xstefank authored Oct 18, 2024
2 parents df4b2d4 + 8b3f84a commit e2ac62b
Show file tree
Hide file tree
Showing 8 changed files with 121 additions and 57 deletions.
Binary file removed .github/release/maven-settings.xml.gpg
Binary file not shown.
Binary file removed .github/release/smallrye-sign.asc.gpg
Binary file not shown.
18 changes: 18 additions & 0 deletions .github/workflows/prepare-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: SmallRye Prepare Release

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

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
prepare-release:
name: Prepare Release
if: ${{ github.event.pull_request.merged == true}}
uses: smallrye/.github/.github/workflows/prepare-release.yml@main
secrets: inherit
41 changes: 41 additions & 0 deletions .github/workflows/publish-tck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Publish TCK

on:
workflow_call:
inputs:
version:
required: true
description: Tag version to perform release
type: string

jobs:
publish-tck:
name: Publish TCK
runs-on: ubuntu-latest
strategy:
matrix:
java: [ 11, 17, 21 ]

steps:
- uses: actions/checkout@v4
name: checkout ${{inputs.version}}
with:
ref: ${{inputs.version}}

- uses: actions/setup-java@v4
name: set up jdk ${{matrix.java}}
with:
distribution: 'temurin'
java-version: ${{matrix.java}}
cache: 'maven'
cache-dependency-path: '**/pom.xml'

- name: generate tck report for jdk ${{matrix.java}}
env:
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
ZIP_NAME: smallrye-health-${{inputs.version}}-tck-results-java-${{matrix.java}}.zip
run: |
mvn -B formatter:validate verify --file pom.xml
cd testsuite/tck/target
zip -r $ZIP_NAME surefire-reports/
gh release upload ${{inputs.version}} $ZIP_NAME
88 changes: 32 additions & 56 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,60 +1,36 @@
name: SmallRye Release

run-name: Perform ${{github.event.inputs.tag || github.ref_name}} Release
on:
pull_request:
types: [closed]
paths:
- '.github/project.yml'
push:
tags:
- '*'
workflow_dispatch:
inputs:
tag:
description: 'Tag to release'
required: true

permissions:
attestations: write
id-token: write
# Needed for the publish-* workflows
contents: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
release:
runs-on: ubuntu-latest
name: release
if: ${{github.event.pull_request.merged == true}}
env:
GITHUB_TOKEN: ${{secrets.RELEASE_TOKEN}}

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'

- uses: actions/checkout@v2
with:
token: ${{secrets.RELEASE_TOKEN}}

- uses: actions/setup-java@v2
with:
java-version: 11
distribution: temurin

- name: maven release ${{steps.metadata.outputs.current-version}}
run: |
java -version
gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" --output smallrye-sign.asc .github/release/smallrye-sign.asc.gpg
gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" --output maven-settings.xml .github/release/maven-settings.xml.gpg
gpg --fast-import --no-tty --batch --yes smallrye-sign.asc
git config --global user.name "SmallRye CI"
git config --global user.email "[email protected]"
git checkout -b release
mvn -B release:prepare -Prelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}} -s maven-settings.xml
git checkout ${{github.base_ref}}
git rebase release
mvn -B release:perform -Prelease -s maven-settings.xml
git push
git push --tags
- uses: actions/upload-artifact@v2
name: tck-report
with:
name: tck-report
path: testsuite/tck/target/surefire-reports

- uses: radcortez/milestone-release-action@main
name: milestone release
with:
github-token: ${{secrets.GITHUB_TOKEN}}
milestone-title: ${{steps.metadata.outputs.current-version}}
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}}

publish-tck:
name: Publish TCK Report
uses: ./.github/workflows/publish-tck.yml
secrets: inherit
with:
version: ${{github.event.inputs.tag || github.ref_name}}
File renamed without changes.
17 changes: 17 additions & 0 deletions .github/workflows/update-milestone.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Update Milestone

on:
pull_request_target:
types: [closed]

jobs:
update:
runs-on: ubuntu-latest
name: update-milestone
if: ${{github.event.pull_request.merged == true}}

steps:
- uses: radcortez/milestone-set-action@main
name: milestone set
with:
github-token: ${{secrets.GITHUB_TOKEN}}
14 changes: 13 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@
<modules>
<module>api</module>
<module>implementation</module>
<module>testsuite</module>
<module>ui</module>
<module>provided-checks</module>
</modules>
Expand Down Expand Up @@ -282,6 +281,19 @@
</build>

<profiles>
<profile>
<id>unpublished</id>
<activation>
<property>
<name>performRelease</name>
<value>!true</value>
</property>
</activation>
<modules>
<module>testsuite</module>
</modules>
</profile>

<profile>
<id>release</id>
<activation>
Expand Down

0 comments on commit e2ac62b

Please sign in to comment.