|
15 | 15 |
|
16 | 16 | jobs:
|
17 | 17 | build-notsd:
|
| 18 | + if: "${{contains((github.event.inputs.tag || github.ref_name), 'notsd-v')}}" |
18 | 19 | name: Release ${{ github.event.inputs.tag || github.ref_name }} Docker image
|
19 | 20 | permissions:
|
20 | 21 | packages: write
|
21 | 22 | contents: write
|
22 |
| - if: "${{contains((github.event.inputs.tag || github.ref_name), 'notsd-v')}}" |
23 | 23 | runs-on: ubuntu-22.04
|
24 | 24 | steps:
|
25 | 25 | - name: Checkout
|
26 | 26 | uses: actions/checkout@v4
|
27 | 27 | with:
|
28 | 28 | ref: refs/tags/${{ env.RELEASE_TAG_REF }}
|
29 |
| - - name: Install latest stable Rust and add targets |
| 29 | + - name: Cache Rust dependencies |
| 30 | + uses: Swatinem/rust-cache@v2 |
| 31 | + - name: Install aarch64 gcc |
30 | 32 | run: |
|
31 | 33 | sudo apt-get update
|
32 |
| - sudo apt-get install -y gcc-x86-64-linux-gnu gcc-aarch64-linux-gnu musl-tools musl-dev liblmdb-dev |
| 34 | + sudo apt-get install -y gcc-aarch64-linux-gnu |
| 35 | + - name: Install latest stable Rust and add targets |
| 36 | + run: | |
33 | 37 | rustup toolchain install stable
|
34 | 38 | rustup default stable
|
35 |
| - rustup target add x86_64-unknown-linux-musl |
36 |
| - rustup target add aarch64-unknown-linux-musl |
37 |
| - - name: Set up QEMU |
38 |
| - uses: docker/setup-qemu-action@v3 |
| 39 | + rustup target add x86_64-unknown-linux-gnu |
| 40 | + rustup target add aarch64-unknown-linux-gnu |
39 | 41 | - name: Set up Docker Buildx
|
40 | 42 | uses: docker/setup-buildx-action@v3
|
41 |
| - - uses: Swatinem/rust-cache@v2 |
42 | 43 | - name: Build binaries
|
43 | 44 | run: |
|
44 |
| - cargo build --release --target x86_64-unknown-linux-musl --locked --bin notsd |
45 |
| - cargo build --release --target aarch64-unknown-linux-musl --locked --bin notsd |
| 45 | + cargo build --release --target x86_64-unknown-linux-gnu --locked --bin notsd |
| 46 | + cargo build --release --target aarch64-unknown-linux-gnu --locked --bin notsd |
| 47 | +
|
| 48 | + tar -czf target/x86_64-unknown-linux-gnu/release/notsd-x86_64-unknown-linux-gnu.tar.gz target/x86_64-unknown-linux-gnu/release/notsd |
| 49 | + tar -czf target/aarch64-unknown-linux-gnu/release/notsd-aarch64-unknown-linux-gnu.tar.gz target/aarch64-unknown-linux-gnu/release/notsd |
46 | 50 | - name: Upload binary to Release
|
47 | 51 | uses: softprops/action-gh-release@v1
|
48 | 52 | with:
|
49 | 53 | tag_name: ${{ env.RELEASE_TAG_REF }}
|
50 | 54 | files: |
|
51 |
| - target/x86_64-unknown-linux-musl/release/notsd-x86_64-unknown-linux.tar.gz |
52 |
| - target/aarch64-unknown-linux-musl/release/notsd-aarch64-unknown-linux.tar.gz |
| 55 | + target/x86_64-unknown-linux-gnu/release/notsd-x86_64-unknown-linux-gnu.tar.gz |
| 56 | + target/aarch64-unknown-linux-gnu/release/notsd-aarch64-unknown-linux-gnu.tar.gz |
53 | 57 | - name: Login to GitHub Container Registry
|
54 | 58 | uses: docker/login-action@v2
|
55 | 59 | with:
|
|
60 | 64 | id: out
|
61 | 65 | run: |
|
62 | 66 | mkdir -p /tmp/outputs
|
63 |
| - mv target/aarch64-unknown-linux-musl/release/notsd /tmp/outputs/notsd-arm64 |
64 |
| - mv target/x86_64-unknown-linux-musl/release/notsd /tmp/outputs/notsd-amd64 |
| 67 | + mv target/aarch64-unknown-linux-gnu/release/notsd /tmp/outputs/notsd-arm64 |
| 68 | + mv target/x86_64-unknown-linux-gnu/release/notsd /tmp/outputs/notsd-amd64 |
65 | 69 | version=$(echo ${{ env.RELEASE_TAG_REF }} | sed 's/notsd-v//')
|
66 | 70 | echo "version=$version" >> $GITHUB_OUTPUT
|
67 | 71 | - name: Build Docker image
|
@@ -138,11 +142,11 @@ jobs:
|
138 | 142 | run: |
|
139 | 143 | sudo apt-get install -y mingw-w64
|
140 | 144 |
|
141 |
| - - name: Install aarch64 gcc |
| 145 | + - name: Install aarch64 musl |
142 | 146 | if: ${{ matrix.platform.release_for == 'Linux-aarch64' }}
|
143 | 147 | run: |
|
144 |
| - sudo apt-get update |
145 |
| - sudo apt-get install -y gcc-aarch64-linux-gnu |
| 148 | + curl -s https://more.musl.cc/11/x86_64-linux-musl/aarch64-linux-musl-cross.tgz | tar -xz |
| 149 | + echo "$PWD/aarch64-linux-musl-cross/bin" >> $GITHUB_PATH |
146 | 150 |
|
147 | 151 | - name: Build binary
|
148 | 152 | run: cargo build --release --target ${{ matrix.platform.target }} --locked --bin nots-cli
|
|
0 commit comments