Skip to content

Commit ced05b3

Browse files
committed
Update workflow
1 parent bb017c4 commit ced05b3

File tree

1 file changed

+43
-5
lines changed

1 file changed

+43
-5
lines changed

.github/workflows/build-and-release.yml

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,13 @@ name: CI
22

33
on:
44
release:
5-
types: [created, edited]
5+
types: [created, edited, published, unpublished, prereleased, released]
6+
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: 'Tag to build (e.g., v1.0.43)'
10+
required: false
11+
type: string
612

713
env:
814
ARCHIVE_NAME: AXe-macOS # Name for the release archive
@@ -41,9 +47,24 @@ jobs:
4147
- name: Extract version from tag
4248
id: version
4349
run: |
44-
VERSION=${GITHUB_REF#refs/tags/v}
50+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
51+
# Manual trigger - use provided tag or latest tag
52+
if [ -n "${{ github.event.inputs.tag }}" ]; then
53+
TAG="${{ github.event.inputs.tag }}"
54+
else
55+
# Get the latest tag
56+
TAG=$(git describe --tags --abbrev=0)
57+
fi
58+
echo "Using tag from manual trigger: $TAG"
59+
else
60+
# Release event - use the release tag
61+
TAG=${GITHUB_REF#refs/tags/}
62+
echo "Using tag from release event: $TAG"
63+
fi
64+
65+
VERSION=${TAG#v}
4566
echo "version=$VERSION" >> $GITHUB_OUTPUT
46-
echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
67+
echo "tag=$TAG" >> $GITHUB_OUTPUT
4768
echo "Building version: $VERSION"
4869
4970
- name: Restore idb repository cache
@@ -278,6 +299,7 @@ jobs:
278299
fi
279300
280301
- name: Delete existing release asset (if re-running)
302+
if: github.event_name == 'release'
281303
continue-on-error: true
282304
run: |
283305
ASSET_NAME="${{ steps.create_archive.outputs.archive_name }}"
@@ -298,6 +320,7 @@ jobs:
298320
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
299321

300322
- name: Upload release asset
323+
if: github.event_name == 'release'
301324
uses: actions/upload-release-asset@v1
302325
env:
303326
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -307,8 +330,18 @@ jobs:
307330
asset_name: ${{ steps.create_archive.outputs.archive_name }}
308331
asset_content_type: application/gzip
309332

333+
- name: Upload build artifact (manual trigger)
334+
if: github.event_name == 'workflow_dispatch'
335+
uses: actions/upload-artifact@v4
336+
with:
337+
name: ${{ steps.create_archive.outputs.archive_name }}
338+
path: ${{ steps.create_archive.outputs.archive_name }}
339+
retention-days: 30
340+
310341
- name: Update Homebrew tap
311-
if: ${{ !github.event.release.prerelease }}
342+
if: |
343+
(github.event_name == 'release' && !github.event.release.prerelease) ||
344+
(github.event_name == 'workflow_dispatch')
312345
env:
313346
HOMEBREW_TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }}
314347
run: |
@@ -318,7 +351,12 @@ jobs:
318351
exit 0
319352
fi
320353
321-
echo "🍺 Updating Homebrew tap..."
354+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
355+
echo "🍺 Updating Homebrew tap (manual trigger)..."
356+
else
357+
echo "🍺 Updating Homebrew tap (release event)..."
358+
fi
359+
322360
git clone https://x-access-token:${HOMEBREW_TAP_TOKEN}@github.com/cameroncooke/homebrew-axe.git tap-repo
323361
cd tap-repo
324362

0 commit comments

Comments
 (0)