1+ name : Release disk_analyzer_cli
2+
3+ on :
4+ push :
5+ tags :
6+ - " disk_analyzer_cli-v[0-9]+.[0-9]+.[0-9]+"
7+
8+ jobs :
9+ build_disk_analyzer_cli :
10+ defaults :
11+ run :
12+ working-directory : disk_analyzer_cli
13+ name : Build disk_analyzer_cli
14+ strategy :
15+ matrix :
16+ include :
17+ - os : ubuntu-latest
18+ asset-name : disk_analyzer_cli_linux_x64
19+ - os : windows-latest
20+ asset-name : disk_analyzer_cli_windows_x64
21+ - os : macos-latest
22+ asset-name : disk_analyzer_cli_macos_arm64
23+ - os : macos-13
24+ asset-name : disk_analyzer_cli_macos_x64
25+ runs-on : ${{ matrix.os }}
26+ steps :
27+ - uses : actions/checkout@v4
28+ - uses : dart-lang/setup-dart@v1
29+ - run : dart pub get
30+ - name : Build CLI bundle
31+ run : dart build cli --target bin/disk_analyzer_cli.dart --output build/${{ matrix.asset-name }}
32+ - uses : actions/upload-artifact@v4
33+ with :
34+ name : bundle-${{ matrix.asset-name }}
35+ path : disk_analyzer_cli/build/${{ matrix.asset-name }}/bundle
36+
37+ upload_artifacts :
38+ needs : build_disk_analyzer_cli
39+ name : Upload Artifacts to GitHub Release
40+ runs-on : ubuntu-latest
41+ permissions :
42+ contents : write
43+ steps :
44+ - uses : actions/download-artifact@v4
45+ with :
46+ path : release-assets
47+ pattern : bundle-*
48+
49+ - name : Package release bundles
50+ run : |
51+ mkdir -p dist
52+ for bundle_dir in release-assets/bundle-*; do
53+ asset_name="${bundle_dir#release-assets/bundle-}"
54+ (
55+ cd "$bundle_dir"
56+ zip -r "../../dist/${asset_name}.zip" bundle
57+ )
58+ done
59+
60+ - name : Upload artifacts to GitHub Release
61+ uses : softprops/action-gh-release@v1
62+ with :
63+ files : dist/*.zip
64+ draft : false
0 commit comments