Skip to content

Commit 65a2520

Browse files
committed
ci: add disk_analyzer_cli ci/cd
1 parent 0a6f737 commit 65a2520

2 files changed

Lines changed: 99 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: CI disk_analyzer_cli
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
paths:
7+
- "disk_analyzer_cli/**"
8+
- ".github/workflows/disk_analyzer_cli.yml"
9+
pull_request:
10+
branches: ["main"]
11+
paths:
12+
- "disk_analyzer_cli/**"
13+
- ".github/workflows/disk_analyzer_cli.yml"
14+
workflow_dispatch:
15+
16+
jobs:
17+
ci:
18+
defaults:
19+
run:
20+
working-directory: disk_analyzer_cli
21+
runs-on: ubuntu-latest
22+
23+
steps:
24+
- uses: actions/checkout@v4
25+
26+
- uses: dart-lang/setup-dart@v1
27+
28+
- name: Install dependencies
29+
run: dart pub get
30+
31+
- name: Analyze project source
32+
run: dart analyze
33+
34+
- name: Compile CLI
35+
run: dart build cli --target bin/disk_analyzer_cli.dart --output build
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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

Comments
 (0)