Skip to content

Commit 8364acf

Browse files
committed
feat: make it possible to re-attempt release
1 parent f905136 commit 8364acf

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

.github/workflows/release.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: Release
22

33
on:
4+
workflow_dispatch:
45
pull_request:
56
types: [ closed ]
67
paths:
@@ -19,6 +20,8 @@ jobs:
1920
runs-on: ubuntu-latest
2021
name: Release power-server
2122
if: ${{github.event.pull_request.merged == true}}
23+
outputs:
24+
already_released: ${{steps.released.outputs.already_released}}
2225

2326
steps:
2427
- uses: radcortez/project-metadata-action@main
@@ -28,9 +31,18 @@ jobs:
2831
github-token: ${{secrets.GITHUB_TOKEN}}
2932
metadata-file-path: '.github/project.yml'
3033

34+
- name: Check if already released
35+
id: released
36+
run: |
37+
if curl --output /dev/null --silent --head --fail "https://repo1.maven.org/maven2/net/laprun/sustainability/power-server/${{steps.metadata.outputs.current-version}}"; then
38+
echo "already_released=true" >> $GITHUB_OUTPUT
39+
fi
40+
3141
- uses: actions/checkout@v4
42+
if: steps.released.outputs.already_released != 'true'
3243

3344
- uses: actions/setup-java@v4
45+
if: steps.released.outputs.already_released != 'true'
3446
with:
3547
distribution: 'temurin'
3648
java-version: '21'
@@ -42,11 +54,13 @@ jobs:
4254
gpg-passphrase: MAVEN_GPG_PASSPHRASE
4355

4456
- name: Configure Git author
57+
if: steps.released.outputs.already_released != 'true'
4558
run: |
4659
git config --local user.email "action@github.com"
4760
git config --local user.name "GitHub Action"
4861
4962
- name: Maven release ${{steps.metadata.outputs.current-version}}
63+
if: steps.released.outputs.already_released != 'true'
5064
run: |
5165
mvn -B release:prepare -Prelease -Darguments="-DskipTests" -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}}
5266
mvn -B release:perform -Darguments="-DperformRelease -DskipTests" -DperformRelease -Prelease
@@ -56,12 +70,14 @@ jobs:
5670
MAVEN_GPG_PASSPHRASE: "${{ secrets.GPG_PASSPHRASE }}"
5771

5872
- name: Push changes to ${{github.base_ref}} branch
73+
if: steps.released.outputs.already_released != 'true'
5974
run: |
6075
git push
6176
git push origin ${{steps.metadata.outputs.current-version}}
6277
6378
# Build native executable per runner
6479
package:
80+
if: needs.maven-release.outputs.already_released != 'true'
6581
needs: [ maven-release ]
6682
name: 'Build with Graal on ${{ matrix.os }}'
6783
strategy:
@@ -109,6 +125,7 @@ jobs:
109125

110126
# Collect all executables and release
111127
release:
128+
if: needs.maven-release.outputs.already_released != 'true'
112129
needs: [ maven-release, package ]
113130
runs-on: ubuntu-latest
114131
steps:

0 commit comments

Comments
 (0)