Skip to content

Commit 41b5c7b

Browse files
update: github workflow
1 parent 7f6413b commit 41b5c7b

File tree

1 file changed

+16
-67
lines changed

1 file changed

+16
-67
lines changed

.github/workflows/release.yml

Lines changed: 16 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -6,76 +6,25 @@ on:
66
- 'v*' # 当推送带有 v* 前缀的 tag 时触发工作流
77

88
jobs:
9-
build:
10-
name: Build CLI for All Platforms
11-
runs-on: ${{ matrix.os }}
12-
strategy:
13-
matrix:
14-
os: [macos-latest, windows-latest]
15-
target:
16-
- x86_64-apple-darwin
17-
- x86_64-pc-windows-gnu
18-
19-
steps:
20-
- name: Checkout repository
21-
uses: actions/checkout@v3
22-
23-
- name: Cache cargo registry
24-
uses: actions/cache@v3
25-
with:
26-
path: ~/.cargo/registry
27-
key: ${{ runner.os }}-cargo-registry
28-
restore-keys: |
29-
${{ runner.os }}-cargo-registry
30-
31-
- name: Set up Rust
32-
uses: actions-rs/toolchain@v1
33-
with:
34-
toolchain: stable
35-
target: ${{ matrix.target }}
36-
override: true
37-
38-
- name: Build with cargo
39-
run: cargo build --release --target ${{ matrix.target }}
40-
41-
- name: Upload binary artifact
42-
uses: actions/upload-artifact@v3
43-
with:
44-
name: ${{ matrix.target }}-cli
45-
path: |
46-
target/${{ matrix.target }}/release/gcs
47-
489
release:
49-
name: Create GitHub Release
10+
name: release ${{ matrix.target }}
5011
runs-on: ubuntu-latest
51-
needs: build
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
include:
16+
- target: x86_64-pc-windows-gnu
17+
archive: zip
18+
- target: x86_64-unknown-linux-musl
19+
archive: tar.gz tar.xz tar.zst
20+
- target: x86_64-apple-darwin
21+
archive: zip
5222
steps:
53-
- name: Checkout repository
54-
uses: actions/checkout@v3
55-
56-
- name: Create GitHub Release
57-
id: create_release
58-
uses: actions/create-release@v1
23+
- uses: actions/checkout@master
24+
- name: Compile and release
25+
uses: rust-build/rust-build.action@v1.4.5
5926
env:
6027
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6128
with:
62-
tag_name: ${{ github.ref }}
63-
release_name: Release ${{ github.ref }}
64-
draft: false
65-
prerelease: false
66-
67-
- name: Upload Release Asset (macOS)
68-
uses: actions/upload-release-asset@v1
69-
with:
70-
upload_url: ${{ steps.create_release.outputs.upload_url }}
71-
asset_path: target/x86_64-apple-darwin/release/gcs
72-
asset_name: gcs
73-
asset_content_type: application/octet-stream
74-
75-
- name: Upload Release Asset (Windows)
76-
uses: actions/upload-release-asset@v1
77-
with:
78-
upload_url: ${{ steps.create_release.outputs.upload_url }}
79-
asset_path: target/x86_64-pc-windows-gnu/release/gcs.exe
80-
asset_name: gcs.exe
81-
asset_content_type: application/octet-stream
29+
RUSTTARGET: ${{ matrix.target }}
30+
ARCHIVE_TYPES: ${{ matrix.archive }}

0 commit comments

Comments
 (0)