Skip to content

Commit 2b4f80b

Browse files
author
Stephan Dilly
committed
Add linux release step
1 parent 5820cc2 commit 2b4f80b

File tree

3 files changed

+43
-12
lines changed

3 files changed

+43
-12
lines changed

.github/workflows/cd.yml

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@ on:
66
- '*'
77

88
jobs:
9-
release-osx:
10-
runs-on: macos-latest
9+
release:
10+
strategy:
11+
matrix:
12+
os: [ubuntu-latest, macos-latest]
13+
rust: [stable]
14+
runs-on: ${{ matrix.os }}
1115
steps:
1216
- uses: actions/checkout@v2
1317
- name: Get version
@@ -19,13 +23,19 @@ jobs:
1923
run: make test
2024
- name: Run clippy
2125
run: make clippy
22-
- name: Build Release
23-
run: make build-release
26+
27+
- name: Build Release Mac
28+
if: matrix.os == 'macos-latest'
29+
run: make release-mac
30+
- name: Build Release Linux
31+
if: matrix.os == 'ubuntu-latest'
32+
run: make release-linux
2433

2534
- name: Set SHA
35+
if: matrix.os == 'macos-latest'
2636
id: shasum
2737
run: |
28-
echo ::set-output name=sha::"$(shasum -a 256 ./target/gitui-mac.tar.gz | awk '{printf $1}')"
38+
echo ::set-output name=sha::"$(shasum -a 256 ./release/gitui-mac.tar.gz | awk '{printf $1}')"
2939
3040
- name: Create Release
3141
id: create_release
@@ -39,16 +49,29 @@ jobs:
3949
prerelease: true
4050

4151
- name: Upload Release Asset
52+
if: matrix.os == 'macos-latest'
4253
uses: actions/upload-release-asset@v1
4354
env:
4455
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4556
with:
46-
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
47-
asset_path: ./target/gitui-mac.tar.gz
57+
upload_url: ${{ steps.create_release.outputs.upload_url }}
58+
asset_path: ./release/gitui-mac.tar.gz
4859
asset_name: gitui-mac.tar.gz
4960
asset_content_type: application/gzip
61+
62+
- name: Upload Release Asset
63+
if: matrix.os == 'ubuntu-latest'
64+
uses: actions/upload-release-asset@v1
65+
env:
66+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
67+
with:
68+
upload_url: ${{ steps.create_release.outputs.upload_url }}
69+
asset_path: ./release/gitui-linux.tar.gz
70+
asset_name: gitui-linux.tar.gz
71+
asset_content_type: application/gzip
5072

5173
- name: Bump Brew
74+
if: matrix.os == 'macos-latest'
5275
env:
5376
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.BREW_TOKEN }}
5477
run: |

.github/workflows/ci.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,20 @@ jobs:
1313
strategy:
1414
matrix:
1515
os: [ubuntu-latest, windows-latest, macos-latest]
16+
rust: [stable]
1617

1718
runs-on: ${{ matrix.os }}
1819

1920
steps:
2021
- uses: actions/checkout@v2
21-
- name: Build
22+
- name: Build Debug
2223
run: cargo build
2324
- name: Run tests
2425
run: make test
2526
- name: Run clippy
2627
run: make clippy
28+
- name: Build Release
29+
run: make build-release
2730
- name: Security audit
2831
uses: actions-rs/audit-check@v1
2932
with:

Makefile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,16 @@ debug:
66

77
build-release:
88
cargo build --release
9+
10+
release-mac: build-release
11+
strip target/release/gitui
12+
mkdir -p release
13+
tar -C ./target/release/ -czvf ./release/gitui-mac.tar.gz ./gitui
14+
15+
release-linux: build-release
916
strip target/release/gitui
10-
ls -lisah target/release/gitui
11-
tar -C ./target/release/ -czvf ./target/gitui-mac.tar.gz ./gitui
12-
ls -lisah ./target/gitui-mac.tar.gz
13-
shasum -a 256 ./target/gitui-mac.tar.gz | awk '{printf $1}'
17+
mkdir -p release
18+
tar -C ./target/release/ -czvf ./release/gitui-linux.tar.gz ./gitui
1419

1520
test:
1621
cargo test --workspace

0 commit comments

Comments
 (0)