Skip to content

Commit 0838f4a

Browse files
committed
CI: Add aarch64 linux build and use newer upload-to-s3 binary
1 parent f1e4dfa commit 0838f4a

File tree

1 file changed

+31
-5
lines changed

1 file changed

+31
-5
lines changed

.cirrus.yml

+31-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ env:
55
AWS_SECRET_ACCESS_KEY: ENCRYPTED[0930789e1bd5f1277a5e01f43750cc6de7e2be51ee6d26a60e34b3f47b6b124c54fab9cbcb498f8f26b0f5df48b622c6]
66

77
task:
8-
name: Build (Debian Linux)
8+
name: Build (Debian x86_64)
99
container:
1010
image: debian:12-slim
1111
cpu: 4
@@ -17,7 +17,7 @@ task:
1717
- curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_VERSION}
1818
- rustup target add x86_64-unknown-linux-musl
1919
- mkdir ~/bin
20-
- curl -L https://releases.wezm.net/upload-to-s3/0.2.0/upload-to-s3-0.2.0-x86_64-unknown-linux-musl.tar.gz | tar xzf - -C ~/bin
20+
- curl -L https://releases.wezm.net/upload-to-s3/0.3.0/upload-to-s3-0.3.0-x86_64-unknown-linux-musl.tar.gz | tar xzf - -C ~/bin
2121
test_script:
2222
- cargo test
2323
publish_script: |
@@ -30,6 +30,32 @@ task:
3030
~/bin/upload-to-s3 -b releases.wezm.net "$tarball" "rsspls/$tag/$tarball"
3131
fi
3232
33+
task:
34+
name: Build (Debian aarch64)
35+
arm_container:
36+
image: debian:12-slim
37+
cpu: 4
38+
cargo_cache:
39+
folder: $HOME/.cargo/registry
40+
fingerprint_script: cat Cargo.lock
41+
install_script:
42+
- apt-get update && apt-get install -y --no-install-recommends git ca-certificates curl gcc libc6-dev musl-tools
43+
- curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_VERSION}
44+
- rustup target add aarch64-unknown-linux-musl
45+
- mkdir ~/bin
46+
- curl -L https://releases.wezm.net/upload-to-s3/0.3.0/upload-to-s3-0.3.0-aarch64-unknown-linux-musl.tar.gz | tar xzf - -C ~/bin
47+
test_script:
48+
- cargo test
49+
publish_script: |
50+
tag=$(git describe --exact-match HEAD 2>/dev/null || true)
51+
if [ -n "$tag" ]; then
52+
cargo build --release --locked --target aarch64-unknown-linux-musl
53+
tarball="rsspls-${tag}-aarch64-unknown-linux-musl.tar.gz"
54+
strip target/aarch64-unknown-linux-musl/release/rsspls
55+
tar zcf "$tarball" -C target/aarch64-unknown-linux-musl/release rsspls
56+
~/bin/upload-to-s3 -b releases.wezm.net "$tarball" "rsspls/$tag/$tarball"
57+
fi
58+
3359
task:
3460
name: Build (FreeBSD)
3561
freebsd_instance:
@@ -41,7 +67,7 @@ task:
4167
install_script:
4268
- pkg install -y git-lite ca_root_nss
4369
- fetch -o - https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain ${RUST_VERSION}
44-
- fetch -o - https://releases.wezm.net/upload-to-s3/0.2.0/upload-to-s3-0.2.0-amd64-unknown-freebsd.tar.gz | tar xzf - -C /usr/local/bin
70+
- fetch -o - https://releases.wezm.net/upload-to-s3/0.3.0/upload-to-s3-0.3.0-amd64-unknown-freebsd.tar.gz | tar xzf - -C /usr/local/bin
4571
test_script:
4672
- cargo test
4773
publish_script: |
@@ -66,7 +92,7 @@ task:
6692
install_script:
6793
- curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain ${RUST_VERSION}
6894
- mkdir ~/bin
69-
- curl -L https://releases.wezm.net/upload-to-s3/0.2.0/upload-to-s3-0.2.0-universal-apple-darwin.tar.gz | tar xzf - -C ~/bin
95+
- curl -L https://releases.wezm.net/upload-to-s3/0.3.0/upload-to-s3-0.3.0-universal-apple-darwin.tar.gz | tar xzf - -C ~/bin
7096
- rustup target add x86_64-apple-darwin
7197
test_script:
7298
- cargo test
@@ -97,7 +123,7 @@ task:
97123
install_script:
98124
- Invoke-WebRequest -Uri https://win.rustup.rs/x86_64 -OutFile rustup-init.exe
99125
- .\rustup-init -y --profile minimal --default-toolchain $env:RUST_VERSION
100-
- Invoke-WebRequest https://releases.wezm.net/upload-to-s3/0.2.0/upload-to-s3-0.2.0-x86_64-pc-windows-msvc.zip -OutFile upload-to-s3.zip
126+
- Invoke-WebRequest https://releases.wezm.net/upload-to-s3/0.3.0/upload-to-s3-0.3.0-x86_64-pc-windows-msvc.zip -OutFile upload-to-s3.zip
101127
- Expand-Archive upload-to-s3.zip -DestinationPath .
102128
- git fetch --tags
103129
# PowerShell it truly horrific and lacks a way to exit on external command failure so we have to check after every command

0 commit comments

Comments
 (0)