Skip to content

Commit 2893d64

Browse files
Merge pull request #3 from hack-ink/release/ci-packaging
Publish musl Linux release binary for Tails
2 parents faacae1 + eb1cced commit 2893d64

2 files changed

Lines changed: 20 additions & 11 deletions

File tree

.github/workflows/release.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ jobs:
2626
matrix:
2727
target:
2828
[
29-
{ name: aarch64-apple-darwin, os: macos-latest },
30-
{ name: x86_64-unknown-linux-gnu, os: ubuntu-latest },
31-
{ name: x86_64-pc-windows-msvc, os: windows-latest },
29+
{ name: aarch64-apple-darwin, os: macos-latest, binary: airseed },
30+
{ name: x86_64-unknown-linux-musl, os: ubuntu-latest, binary: airseed },
31+
{ name: x86_64-pc-windows-msvc, os: windows-latest, binary: airseed.exe },
3232
]
3333
steps:
3434
- name: Fetch latest code
@@ -43,32 +43,33 @@ jobs:
4343
- name: Add target
4444
run: rustup target add ${{ matrix.target.name }}
4545

46+
- name: Install musl toolchain
47+
if: matrix.target.name == 'x86_64-unknown-linux-musl'
48+
run: sudo apt-get update && sudo apt-get install --yes musl-tools
49+
4650
- name: Build
4751
run: cargo build --profile final-release --locked --target ${{ matrix.target.name }}
4852

4953
- name: Pack (macOS)
5054
if: matrix.target.os == 'macos-latest'
5155
run: |
52-
mv target/${{ matrix.target.name }}/final-release/airseed .
53-
zip airseed-${{ matrix.target.name }}.zip airseed
56+
mv target/${{ matrix.target.name }}/final-release/${{ matrix.target.binary }} airseed-${{ matrix.target.name }}
5457
5558
- name: Pack (Windows)
5659
if: matrix.target.os == 'windows-latest'
5760
run: |
58-
mv target/${{ matrix.target.name }}/final-release/airseed.exe .
59-
Compress-Archive -Path airseed.exe -DestinationPath airseed-${{ matrix.target.name }}.zip
61+
mv target/${{ matrix.target.name }}/final-release/${{ matrix.target.binary }} airseed-${{ matrix.target.name }}.exe
6062
6163
- name: Pack (Linux)
6264
if: matrix.target.os == 'ubuntu-latest'
6365
run: |
64-
mv target/${{ matrix.target.name }}/final-release/airseed .
65-
tar -czvf airseed-${{ matrix.target.name }}.tar.gz airseed
66+
mv target/${{ matrix.target.name }}/final-release/${{ matrix.target.binary }} airseed-${{ matrix.target.name }}
6667
6768
- name: Upload artifact
6869
uses: actions/upload-artifact@v7
6970
with:
7071
name: airseed-${{ matrix.target.name }}
71-
path: airseed-${{ matrix.target.name }}.*
72+
path: airseed-${{ matrix.target.name }}*
7273
retention-days: 1
7374

7475
# release:
@@ -85,6 +86,7 @@ jobs:
8586
name: Release
8687
runs-on: ubuntu-latest
8788
needs: [build]
89+
if: github.ref_type == 'tag'
8890
steps:
8991
- name: Download artifacts
9092
uses: actions/download-artifact@v8

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,19 @@ Offline-first wallet seed generator for air-gapped environments.
3636

3737
### Installation
3838

39+
#### Download a Release Asset
40+
41+
- For offline x86-64 Linux systems, including Tails, prefer the release asset named
42+
`airseed-x86_64-unknown-linux-musl`.
43+
- For Apple Silicon macOS, use `airseed-aarch64-apple-darwin`.
44+
- For Windows x86-64, use `airseed-x86_64-pc-windows-msvc.exe`.
45+
3946
#### Build from Source
4047

4148
```sh
4249
git clone https://github.com/hack-ink/airseed
4350
cd airseed
44-
cargo build --release
51+
cargo build --profile final-release
4552
```
4653

4754
### Interaction

0 commit comments

Comments
 (0)