Skip to content
This repository was archived by the owner on Feb 24, 2025. It is now read-only.

Commit b89a71c

Browse files
committed
chore(ci): add release.yml
1 parent 5e92eb0 commit b89a71c

File tree

2 files changed

+53
-2
lines changed

2 files changed

+53
-2
lines changed

.github/workflows/release.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
build_and_release:
10+
name: Build and Release
11+
runs-on: [ubuntu-latest, macos-latest, windows-latest]
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v3
16+
17+
- name: Set up Rust
18+
uses: actions-rs/toolchain@v1
19+
with:
20+
toolchain: stable
21+
override: true
22+
23+
- name: Build binary
24+
run: cargo build --release
25+
26+
- name: Extract version from Cargo.toml
27+
id: vars
28+
run: 'echo "::set-output name=version::$(cargo pkgid | cut -d# -f2 | cut -d: -f2)"'
29+
30+
- name: Rename binary
31+
run: |
32+
mv target/release/myapp target/release/myapp-${{ steps.vars.outputs.version }}
33+
34+
- name: Create release
35+
id: create_release
36+
uses: actions/create-release@v1
37+
env:
38+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39+
with:
40+
tag_name: ${{ github.ref }}
41+
release_name: Release ${{ steps.vars.outputs.version }}
42+
draft: false
43+
prerelease: false
44+
45+
- name: Upload Release Asset
46+
uses: actions/upload-release-asset@v1
47+
env:
48+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49+
with:
50+
upload_url: ${{ steps.create_release.outputs.upload_url }}
51+
asset_path: ./target/release/myapp-${{ steps.vars.outputs.version }}
52+
asset_name: myapp-${{ steps.vars.outputs.version }}
53+
asset_content_type: application/octet-stream
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,3 @@ jobs:
2121
run: cargo test
2222
env:
2323
DATABASE_URL: ${{ secrets.DATABASE_URL }}
24-
- name: Build release
25-
run: cargo build --release

0 commit comments

Comments
 (0)