1+ name : Release package
2+
3+ on :
4+ push :
5+ tags :
6+ - ' v[0-9]+.[0-9]+.[0-9]+*'
7+ defaults :
8+ run :
9+ shell : bash
10+ env :
11+ PUB_ENVIRONMENT : bot.github
12+ permissions : read-all
13+
14+ jobs :
15+ build :
16+ name : " Build"
17+ strategy :
18+ matrix :
19+ os : [macos-14, macos-12]
20+ fail-fast : true
21+ uses : ./.github/workflows/build.yml
22+ with :
23+ runs-on : ${{ matrix.os }}
24+ secrets : inherit
25+ github_release :
26+ name : " Github Release"
27+ needs : build
28+ environment : build
29+ runs-on : ubuntu-latest
30+ permissions :
31+ contents : write
32+ steps :
33+ - uses : actions/checkout@v4
34+ - name : Read pubspec.yaml version
35+ id : read_pubspec_version
36+ run : |
37+ set -e
38+ VERSION=$(yq -r '.version' pubspec.yaml)
39+ echo "VERSION=$VERSION" >> $GITHUB_ENV
40+ - name : Get arm64 artifact
41+ id : download_arm64_artifact
42+ uses : actions/download-artifact@v4
43+ env :
44+ WORKFLOW_NAME : ${{ vars.WORKFLOW_NAME }}
45+ ARCH : arm64
46+ with :
47+ name : ${{ env.WORKFLOW_NAME }}-v${{ env.VERSION }}-${{ env.ARCH }}
48+ path : ${{ runner.temp }}/download
49+ - name : Get x86_64 artifact
50+ id : download_x86_64_artifact
51+ uses : actions/download-artifact@v4
52+ env :
53+ WORKFLOW_NAME : ${{ vars.WORKFLOW_NAME }}
54+ ARCH : x86_64
55+ with :
56+ name : ${{ env.WORKFLOW_NAME }}-v${{ env.VERSION }}-${{ env.ARCH }}
57+ path : ${{ runner.temp }}/download
58+ - name : Unzip artifacts
59+ env :
60+ WORKFLOW_NAME : ${{ vars.WORKFLOW_NAME }}
61+ id : unzip_artifacts
62+ working-directory : ${{ runner.temp }}/download
63+ run : |
64+ set -e
65+ for ARCH in "arm64" "x86_64"; do
66+ mkdir -p $ARCH
67+ unzip -q ${{ env.WORKFLOW_NAME }}-v${{ env.VERSION }}-${ARCH}.zip -d $ARCH
68+ done
69+ - name : Create Alfred Workflow
70+ id : create_alfred_workflow
71+ env :
72+ WORKFLOW_NAME : ${{ vars.WORKFLOW_NAME }}
73+ working-directory : ${{ runner.temp }}/download
74+ run : |
75+ set -e
76+ mv x86_64/workflow arm64/workflow_intel
77+ pushd arm64
78+ find . -not -path "./*_cache*" -exec zip --symlinks "../${WORKFLOW_NAME}-v${VERSION}.alfredworkflow" {} +
79+ popd
80+ - name : Release
81+ id : release_workflow
82+ env :
83+ WORKFLOW_NAME : ${{ vars.WORKFLOW_NAME }}
84+ uses : softprops/action-gh-release@v1
85+ with :
86+ files : ${{ runner.temp }}/download/${{ env.WORKFLOW_NAME }}-v${{ env.VERSION }}.alfredworkflow
87+ - name : Clean up
88+ id : clean_up
89+ if : ${{ always() }}
90+ run : |
91+ rm -rf $RUNNER_TEMP/download
0 commit comments