Skip to content

Commit 8e58ea9

Browse files
Create release.yml
1 parent 7d355fa commit 8e58ea9

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed

.github/workflows/release.yml

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
name: Rust Build and Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
release:
8+
types: [created]
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v2
17+
18+
- name: Set up Rust
19+
uses: actions/setup-rust@v1
20+
21+
- name: Build Release Binary
22+
run: cargo build --release
23+
24+
- name: Archive Release Binary
25+
uses: actions/upload-artifact@v2
26+
with:
27+
name: tiks
28+
path: target/release/tiks
29+
30+
release_windows:
31+
needs: build
32+
runs-on: windows-latest
33+
34+
steps:
35+
- name: Download Artifact
36+
uses: actions/download-artifact@v2
37+
with:
38+
name: tiks
39+
40+
- name: Create Release
41+
id: create_release
42+
uses: actions/create-release@v1
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
with:
46+
tag_name: ${{ github.ref }}
47+
release_name: Release ${{ github.ref }}
48+
draft: false
49+
prerelease: false
50+
51+
- name: Upload Release Asset
52+
id: upload-release-asset
53+
uses: actions/upload-release-asset@v1
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
with:
57+
upload_url: ${{ steps.create_release.outputs.upload_url }}
58+
asset_path: target/release/tiks.exe
59+
asset_name: tiks.exe
60+
asset_content_type: application/octet-stream
61+
62+
release_macos:
63+
needs: build
64+
runs-on: macos-latest
65+
66+
steps:
67+
- name: Download Artifact
68+
uses: actions/download-artifact@v2
69+
with:
70+
name: tiks
71+
72+
- name: Create Release
73+
id: create_release
74+
uses: actions/create-release@v1
75+
env:
76+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
77+
with:
78+
tag_name: ${{ github.ref }}
79+
release_name: Release ${{ github.ref }}
80+
draft: false
81+
prerelease: false
82+
83+
- name: Upload Release Asset
84+
id: upload-release-asset
85+
uses: actions/upload-release-asset@v1
86+
env:
87+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
88+
with:
89+
upload_url: ${{ steps.create_release.outputs.upload_url }}
90+
asset_path: target/release/tiks
91+
asset_name: tiks-macos
92+
asset_content_type: application/octet-stream
93+
94+
release_linux:
95+
needs: build
96+
runs-on: ubuntu-latest
97+
98+
steps:
99+
- name: Download Artifact
100+
uses: actions/download-artifact@v2
101+
with:
102+
name: tiks
103+
104+
- name: Create Release
105+
id: create_release
106+
uses: actions/create-release@v1
107+
env:
108+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
109+
with:
110+
tag_name: ${{ github.ref }}
111+
release_name: Release ${{ github.ref }}
112+
draft: false
113+
prerelease: false
114+
115+
- name: Upload Release Asset
116+
id: upload-release-asset
117+
uses: actions/upload-release-asset@v1
118+
env:
119+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
120+
with:
121+
upload_url: ${{ steps.create_release.outputs.upload_url }}
122+
asset_path: target/release/tiks
123+
asset_name: tiks-linux
124+
asset_content_type: application/octet-stream
125+
126+

0 commit comments

Comments
 (0)