Skip to content

Commit

Permalink
Split and Reuse the Release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
radcortez committed Oct 16, 2024
1 parent 33d9df7 commit 71cbc76
Show file tree
Hide file tree
Showing 7 changed files with 157 additions and 5 deletions.
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-config-${{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
36 changes: 36 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: SmallRye Release
run-name: Perform ${{github.event.inputs.tag || github.ref_name}} Release
on:
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:
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}}
31 changes: 31 additions & 0 deletions .github/workflows/review-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: SmallRye Review Release

on:
pull_request:
paths:
- '.github/project.yml'

jobs:
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'

- 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}}
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}}
6 changes: 2 additions & 4 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
:microprofile-metrics: https://github.com/eclipse/microprofile-metrics/
:ci: https://github.com/smallrye/smallrye-metrics/actions?query=workflow%3A%22SmallRye+Build%22
:sonar: https://sonarcloud.io/dashboard?id=smallrye_smallrye-metrics
:ci: https://github.com/smallrye/smallrye-metrics/actions/workflows/build.yml/

image:https://github.com/smallrye/smallrye-metrics/workflows/SmallRye%20Build/badge.svg?branch=main[link={ci}]
image:https://sonarcloud.io/api/project_badges/measure?project=smallrye_smallrye-metrics&metric=alert_status["Quality Gate Status", link={sonar}]
image:https://github.com/smallrye/smallrye-metrics/actions/workflows/build.yml/badge.svg?branch=main[link={ci}]
image:https://img.shields.io/github/license/smallrye/smallrye-metrics.svg["License", link="http://www.apache.org/licenses/LICENSE-2.0"]
image:https://img.shields.io/maven-central/v/io.smallrye/smallrye-metrics?color=green[]

Expand Down
13 changes: 12 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@

<modules>
<module>implementation</module>
<module>testsuite</module>
<module>api</module>
</modules>

Expand Down Expand Up @@ -141,6 +140,18 @@
</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 71cbc76

Please sign in to comment.