Skip to content

Commit 04d6fad

Browse files
authored
Merge pull request #35 from choco-technologies/copilot/fix-ci-trigger-on-tag
Fix release pipeline not triggering on direct tag push
2 parents 53e3330 + b48b1bc commit 04d6fad

1 file changed

Lines changed: 30 additions & 11 deletions

File tree

.github/workflows/release.yml

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ name: Release
33
on:
44
release:
55
types: [created]
6+
push:
7+
tags:
8+
- 'v*'
69

710
jobs:
811
discover-architectures:
@@ -59,7 +62,7 @@ jobs:
5962
id: get_version
6063
run: |
6164
# Extract version from tag (e.g., v1.2 -> 1.2)
62-
VERSION="${{ github.event.release.tag_name }}"
65+
VERSION="${{ github.event.release.tag_name || github.ref_name }}"
6366
VERSION="${VERSION#v}" # Remove 'v' prefix if present
6467
echo "version=$VERSION" >> $GITHUB_OUTPUT
6568
echo "Extracted version: $VERSION"
@@ -112,7 +115,7 @@ jobs:
112115
- name: Create release archive
113116
run: |
114117
cd release_package
115-
zip -r ../dmdevfs-${{ github.event.release.tag_name }}-$ARCH_DIR_NAME.zip .
118+
zip -r ../dmdevfs-${{ github.event.release.tag_name || github.ref_name }}-$ARCH_DIR_NAME.zip .
116119
cd ..
117120
echo "Created archive:"
118121
ls -lh dmdevfs-*.zip
@@ -121,7 +124,7 @@ jobs:
121124
uses: actions/upload-artifact@v4
122125
with:
123126
name: ${{ env.ARTIFACT_NAME }}
124-
path: dmdevfs-${{ github.event.release.tag_name }}-*.zip
127+
path: dmdevfs-${{ github.event.release.tag_name || github.ref_name }}-*.zip
125128
retention-days: 1
126129

127130
generate-versions-manifest:
@@ -152,7 +155,7 @@ jobs:
152155
153156
if [ -z "$VERSIONS" ]; then
154157
echo "Warning: No version tags found"
155-
VERSIONS="${{ github.event.release.tag_name }}"
158+
VERSIONS="${{ github.event.release.tag_name || github.ref_name }}"
156159
VERSIONS="${VERSIONS#v}"
157160
fi
158161
@@ -189,6 +192,22 @@ jobs:
189192
echo "Downloaded artifacts:"
190193
ls -lR artifacts/
191194
195+
- name: Create GitHub Release if triggered by tag push
196+
shell: bash
197+
env:
198+
GH_TOKEN: ${{ github.token }}
199+
run: |
200+
TAG="${{ github.event.release.tag_name || github.ref_name }}"
201+
if ! gh release view "$TAG" --repo ${{ github.repository }} >/dev/null 2>&1; then
202+
echo "No release found for tag $TAG, creating one..."
203+
gh release create "$TAG" \
204+
--repo ${{ github.repository }} \
205+
--title "Release $TAG" \
206+
--notes "Release $TAG"
207+
else
208+
echo "Release for tag $TAG already exists, skipping creation."
209+
fi
210+
192211
- name: Upload release assets to versioned tag
193212
shell: bash
194213
env:
@@ -205,23 +224,23 @@ jobs:
205224
fi
206225
207226
for zip_file in "${zip_files[@]}"; do
208-
echo "Uploading $zip_file to ${{ github.event.release.tag_name }}..."
209-
gh release upload ${{ github.event.release.tag_name }} \
227+
echo "Uploading $zip_file to ${{ github.event.release.tag_name || github.ref_name }}..."
228+
gh release upload ${{ github.event.release.tag_name || github.ref_name }} \
210229
"$zip_file" \
211230
--repo ${{ github.repository }} \
212231
--clobber
213232
done
214233
215234
# Upload versions.dmm to the versioned release
216235
if [ -f artifacts/versions-manifest/versions.dmm ]; then
217-
echo "Uploading versions.dmm to ${{ github.event.release.tag_name }}..."
218-
gh release upload ${{ github.event.release.tag_name }} \
236+
echo "Uploading versions.dmm to ${{ github.event.release.tag_name || github.ref_name }}..."
237+
gh release upload ${{ github.event.release.tag_name || github.ref_name }} \
219238
artifacts/versions-manifest/versions.dmm \
220239
--repo ${{ github.repository }} \
221240
--clobber
222241
fi
223242
224-
echo "Successfully uploaded ${#zip_files[@]} artifact(s) to ${{ github.event.release.tag_name }}"
243+
echo "Successfully uploaded ${#zip_files[@]} artifact(s) to ${{ github.event.release.tag_name || github.ref_name }}"
225244
226245
- name: Create or update latest release
227246
shell: bash
@@ -240,8 +259,8 @@ jobs:
240259
echo "Creating vlatest release..."
241260
gh release create vlatest \
242261
--repo ${{ github.repository }} \
243-
--title "Latest Release (based on ${{ github.event.release.tag_name }})" \
244-
--notes "This release always points to the latest stable version. Currently based on ${{ github.event.release.tag_name }}."
262+
--title "Latest Release (based on ${{ github.event.release.tag_name || github.ref_name }})" \
263+
--notes "This release always points to the latest stable version. Currently based on ${{ github.event.release.tag_name || github.ref_name }}."
245264
246265
- name: Upload release assets to latest tag
247266
shell: bash

0 commit comments

Comments
 (0)