Skip to content

Commit d04dbac

Browse files
committed
Added release github workflows
1 parent a73e958 commit d04dbac

File tree

3 files changed

+181
-0
lines changed

3 files changed

+181
-0
lines changed

.github/workflows/release-linux.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Release linux (x86_64)
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*.*.*'
7+
8+
jobs:
9+
release:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
# Dynamically create a tag from the pushed version
17+
- name: Get the tag name
18+
id: get_tag
19+
run: |
20+
echo "TAG=${GITHUB_REF##*/}" >> $GITHUB_ENV
21+
22+
- name: Set up Rust
23+
uses: actions-rust-lang/setup-rust-toolchain@v1
24+
25+
- name: Build release binary
26+
run: cargo build --release
27+
28+
# Perhaps we can ignore tests, as they are run by the CI workflow
29+
# - name: Run tests
30+
# run: cargo test --release
31+
#
32+
33+
- name: Get OS and architecture
34+
run: |
35+
echo "os=$(uname -s | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
36+
echo "arch=$(uname -m)" >> $GITHUB_ENV
37+
38+
- name: Create release archive
39+
run: |
40+
mkdir -p release
41+
ARCH="${{ env.arch }}"
42+
OS="${{ env.os }}"
43+
cp target/release/spaced release/spaced-${{ env.TAG }}-${OS}-${ARCH}
44+
cp target/release/space-cli release/space-cli-${{ env.TAG }}-${OS}-${ARCH}
45+
46+
- name: Create GitHub Release
47+
id: create_release
48+
uses: softprops/action-gh-release@v2
49+
with:
50+
tag_name: ${{ env.TAG }} # Dynamically use the pushed tag
51+
name: Release ${{ env.TAG }} # Use the tag for the release name
52+
body: |
53+
Automated release of version ${{ env.TAG }}.
54+
draft: false
55+
prerelease: false
56+
files: |
57+
release/spaced-${{ env.TAG }}-${{ env.os }}-${{ env.arch }}
58+
release/space-cli-${{ env.TAG }}-${{ env.os }}-${{ env.arch }}
59+
make_latest: true
60+
env:
61+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Release macOs (arm)
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*.*.*'
7+
8+
jobs:
9+
release:
10+
runs-on: macos-latest
11+
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
# Dynamically create a tag from the pushed version
17+
- name: Get the tag name
18+
id: get_tag
19+
run: |
20+
echo "TAG=${GITHUB_REF##*/}" >> $GITHUB_ENV
21+
22+
- name: Set up Rust
23+
uses: actions-rust-lang/setup-rust-toolchain@v1
24+
25+
- name: Build release binary
26+
run: cargo build --release
27+
28+
# Perhaps we can ignore tests, as they are run by the CI workflow
29+
# - name: Run tests
30+
# run: cargo test --release
31+
32+
- name: Get OS and architecture
33+
run: |
34+
echo "os=$(uname -s | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
35+
echo "arch=$(uname -m)" >> $GITHUB_ENV
36+
37+
- name: Create release archive
38+
run: |
39+
mkdir -p release
40+
ARCH="${{ env.arch }}"
41+
OS="${{ env.os }}"
42+
cp target/release/spaced release/spaced-${{ env.TAG }}-${OS}-${ARCH}
43+
cp target/release/space-cli release/space-cli-${{ env.TAG }}-${OS}-${ARCH}
44+
45+
- name: Create GitHub Release
46+
id: create_release
47+
uses: softprops/action-gh-release@v2
48+
with:
49+
tag_name: ${{ env.TAG }} # Dynamically use the pushed tag
50+
name: Release ${{ env.TAG }} # Use the tag for the release name
51+
body: |
52+
Automated release of version ${{ env.TAG }}.
53+
draft: false
54+
prerelease: false
55+
files: |
56+
release/spaced-${{ env.TAG }}-${{ env.os }}-${{ env.arch }}
57+
release/space-cli-${{ env.TAG }}-${{ env.os }}-${{ env.arch }}
58+
make_latest: true
59+
env:
60+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Release macOs (x86_64)
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*.*.*'
7+
8+
jobs:
9+
release:
10+
runs-on: macos-13
11+
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
# Dynamically create a tag from the pushed version
17+
- name: Get the tag name
18+
id: get_tag
19+
run: |
20+
echo "TAG=${GITHUB_REF##*/}" >> $GITHUB_ENV
21+
22+
- name: Set up Rust
23+
uses: actions-rust-lang/setup-rust-toolchain@v1
24+
25+
- name: Build release binary
26+
run: cargo build --release
27+
28+
# Perhaps we can ignore tests, as they are run by the CI workflow
29+
# - name: Run tests
30+
# run: cargo test --release
31+
32+
- name: Get OS and architecture
33+
run: |
34+
echo "os=$(uname -s | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
35+
echo "arch=$(uname -m)" >> $GITHUB_ENV
36+
37+
- name: Create release archive
38+
run: |
39+
mkdir -p release
40+
ARCH="${{ env.arch }}"
41+
OS="${{ env.os }}"
42+
cp target/release/spaced release/spaced-${{ env.TAG }}-${OS}-${ARCH}
43+
cp target/release/space-cli release/space-cli-${{ env.TAG }}-${OS}-${ARCH}
44+
45+
- name: Create GitHub Release
46+
id: create_release
47+
uses: softprops/action-gh-release@v2
48+
with:
49+
tag_name: ${{ env.TAG }} # Dynamically use the pushed tag
50+
name: Release ${{ env.TAG }} # Use the tag for the release name
51+
body: |
52+
Automated release of version ${{ env.TAG }}.
53+
draft: false
54+
prerelease: false
55+
files: |
56+
release/spaced-${{ env.TAG }}-${{ env.os }}-${{ env.arch }}
57+
release/space-cli-${{ env.TAG }}-${{ env.os }}-${{ env.arch }}
58+
make_latest: true
59+
env:
60+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)