44 push :
55 branches :
66 - main
7+ - dev
78 workflow_dispatch :
89
910env :
2324 version : ${{ steps.version.outputs.version }}
2425 tag : ${{ steps.version.outputs.tag }}
2526 mode : ${{ steps.tag_state.outputs.mode }}
27+ release_enabled : ${{ steps.tag_state.outputs.release_enabled }}
2628 steps :
2729 - name : Checkout
2830 uses : actions/checkout@v5
@@ -42,12 +44,19 @@ jobs:
4244 shell : bash
4345 run : |
4446 tag="${{ steps.version.outputs.tag }}"
45- if ! tag_sha="$(git rev-list -n 1 "$tag" 2>/dev/null)"; then
47+ branch="${GITHUB_REF_NAME}"
48+ if [ "$branch" != "main" ]; then
49+ echo "mode=build" >> "$GITHUB_OUTPUT"
50+ echo "release_enabled=false" >> "$GITHUB_OUTPUT"
51+ elif ! tag_sha="$(git rev-list -n 1 "$tag" 2>/dev/null)"; then
4652 echo "mode=new" >> "$GITHUB_OUTPUT"
53+ echo "release_enabled=true" >> "$GITHUB_OUTPUT"
4754 elif [ "$tag_sha" = "$GITHUB_SHA" ]; then
4855 echo "mode=rerun" >> "$GITHUB_OUTPUT"
56+ echo "release_enabled=true" >> "$GITHUB_OUTPUT"
4957 else
5058 echo "mode=skip" >> "$GITHUB_OUTPUT"
59+ echo "release_enabled=false" >> "$GITHUB_OUTPUT"
5160 echo "Version tag $tag already exists on commit $tag_sha. Skipping release for unchanged Cargo version."
5261 fi
5362
@@ -217,7 +226,7 @@ jobs:
217226 - build-windows
218227 - build-macos
219228 - build-linux
220- if : needs.metadata.outputs.mode != 'skip '
229+ if : needs.metadata.outputs.release_enabled == 'true '
221230 runs-on : ubuntu-latest
222231 env :
223232 GH_TOKEN : ${{ github.token }}
0 commit comments