1919    runs-on : ubuntu-latest 
2020    name : Release power-server 
2121    if : ${{github.event.pull_request.merged == true}} 
22+     outputs :
23+       already_released : ${{steps.released.outputs.already_released}} 
2224
2325    steps :
2426      - uses : radcortez/project-metadata-action@main 
2830          github-token : ${{secrets.GITHUB_TOKEN}} 
2931          metadata-file-path : ' .github/project.yml' 
3032
33+       - name : Check if already released 
34+         id : released 
35+         run : | 
36+           if curl --output /dev/null --silent --head --fail "https://repo1.maven.org/maven2/net/laprun/sustainability/power-server/${{steps.metadata.outputs.current-version}}"; then 
37+             echo "already_released=true" >> $GITHUB_OUTPUT 
38+           fi 
39+ 
3140uses : actions/checkout@v4 
41+         if : steps.released.outputs.already_released != 'true' 
3242
3343      - uses : actions/setup-java@v4 
44+         if : steps.released.outputs.already_released != 'true' 
3445        with :
3546          distribution : ' temurin' 
3647          java-version : ' 21' 
@@ -42,11 +53,13 @@ jobs:
4253          gpg-passphrase : MAVEN_GPG_PASSPHRASE 
4354
4455      - name : Configure Git author 
56+         if : steps.released.outputs.already_released != 'true' 
4557        run : | 
4658          git config --local user.email "[email protected] " 4759          git config --local user.name "GitHub Action" 
4860
4961name : Maven release ${{steps.metadata.outputs.current-version}} 
62+         if : steps.released.outputs.already_released != 'true' 
5063        run : | 
5164          mvn -B release:prepare -Prelease -Darguments="-DskipTests" -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}} 
5265          mvn -B release:perform -Darguments="-DperformRelease -DskipTests" -DperformRelease -Prelease 
@@ -56,12 +69,14 @@ jobs:
5669          MAVEN_GPG_PASSPHRASE : " ${{ secrets.GPG_PASSPHRASE }}" 
5770
5871      - name : Push changes to ${{github.base_ref}} branch 
72+         if : steps.released.outputs.already_released != 'true' 
5973        run : | 
6074          git push 
6175          git push origin ${{steps.metadata.outputs.current-version}} 
6276
6377#  Build native executable per runner
6478  package :
79+     if : needs.maven-release.outputs.already_released != 'true' 
6580    needs : [ maven-release ] 
6681    name : ' Build with Graal on ${{ matrix.os }}' 
6782    strategy :
@@ -109,6 +124,7 @@ jobs:
109124
110125  #  Collect all executables and release
111126  release :
127+     if : needs.maven-release.outputs.already_released != 'true' 
112128    needs : [ maven-release, package ] 
113129    runs-on : ubuntu-latest 
114130    steps :
0 commit comments