diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cb5c897..911ebac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,9 +26,9 @@ jobs: matrix: target: [ - { name: aarch64-apple-darwin, os: macos-latest }, - { name: x86_64-unknown-linux-gnu, os: ubuntu-latest }, - { name: x86_64-pc-windows-msvc, os: windows-latest }, + { name: aarch64-apple-darwin, os: macos-latest, binary: airseed }, + { name: x86_64-unknown-linux-musl, os: ubuntu-latest, binary: airseed }, + { name: x86_64-pc-windows-msvc, os: windows-latest, binary: airseed.exe }, ] steps: - name: Fetch latest code @@ -43,32 +43,33 @@ jobs: - name: Add target run: rustup target add ${{ matrix.target.name }} + - name: Install musl toolchain + if: matrix.target.name == 'x86_64-unknown-linux-musl' + run: sudo apt-get update && sudo apt-get install --yes musl-tools + - name: Build run: cargo build --profile final-release --locked --target ${{ matrix.target.name }} - name: Pack (macOS) if: matrix.target.os == 'macos-latest' run: | - mv target/${{ matrix.target.name }}/final-release/airseed . - zip airseed-${{ matrix.target.name }}.zip airseed + mv target/${{ matrix.target.name }}/final-release/${{ matrix.target.binary }} airseed-${{ matrix.target.name }} - name: Pack (Windows) if: matrix.target.os == 'windows-latest' run: | - mv target/${{ matrix.target.name }}/final-release/airseed.exe . - Compress-Archive -Path airseed.exe -DestinationPath airseed-${{ matrix.target.name }}.zip + mv target/${{ matrix.target.name }}/final-release/${{ matrix.target.binary }} airseed-${{ matrix.target.name }}.exe - name: Pack (Linux) if: matrix.target.os == 'ubuntu-latest' run: | - mv target/${{ matrix.target.name }}/final-release/airseed . - tar -czvf airseed-${{ matrix.target.name }}.tar.gz airseed + mv target/${{ matrix.target.name }}/final-release/${{ matrix.target.binary }} airseed-${{ matrix.target.name }} - name: Upload artifact uses: actions/upload-artifact@v7 with: name: airseed-${{ matrix.target.name }} - path: airseed-${{ matrix.target.name }}.* + path: airseed-${{ matrix.target.name }}* retention-days: 1 # release: @@ -85,6 +86,7 @@ jobs: name: Release runs-on: ubuntu-latest needs: [build] + if: github.ref_type == 'tag' steps: - name: Download artifacts uses: actions/download-artifact@v8 diff --git a/README.md b/README.md index 08a2b26..9b9afd1 100644 --- a/README.md +++ b/README.md @@ -36,12 +36,19 @@ Offline-first wallet seed generator for air-gapped environments. ### Installation +#### Download a Release Asset + +- For offline x86-64 Linux systems, including Tails, prefer the release asset named + `airseed-x86_64-unknown-linux-musl`. +- For Apple Silicon macOS, use `airseed-aarch64-apple-darwin`. +- For Windows x86-64, use `airseed-x86_64-pc-windows-msvc.exe`. + #### Build from Source ```sh git clone https://github.com/hack-ink/airseed cd airseed -cargo build --release +cargo build --profile final-release ``` ### Interaction