mirror of
https://git.asonix.dog/asonix/pict-rs
synced 2024-11-01 10:09:57 +00:00
71 lines
2.6 KiB
YAML
71 lines
2.6 KiB
YAML
on:
|
|
push:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
zigbuild:
|
|
runs-on: docker
|
|
container:
|
|
image: docker.io/node:20-bookworm
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: |
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable --profile minimal -y
|
|
export PATH=$PATH:/root/.cargo/bin
|
|
rustup target add x86_64-unknown-linux-musl
|
|
rustup target add armv7-unknown-linux-musleabihf
|
|
rustup target add aarch64-unknown-linux-musl
|
|
rustup component add clippy
|
|
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
|
yes | cargo binstall cargo-zigbuild
|
|
curl -L --proto '=https' --tlsv1.2 -sSf https://ziglang.org/download/0.11.0/zig-linux-x86_64-0.11.0.tar.xz | unxz > zig.tar
|
|
tar -xf zig.tar
|
|
export PATH=$PATH:$(pwd)/zig
|
|
chmod +x ./zig/zig
|
|
cargo zigbuild --target x86_64-unknown-linux-musl
|
|
cargo zigbuild --target armv7-unknown-linux-musleabihf
|
|
cargo zigbuild --target aarch64-unknown-linux-musl
|
|
cargo clippy --no-default-features -- -D warnings
|
|
|
|
clippy:
|
|
runs-on: docker
|
|
container:
|
|
image: docker.io/asonix/rust-builder:latest-linux-amd64
|
|
steps:
|
|
- run: |
|
|
git clone ${{ env.github_server_url }}/${{ env.github_repository }} .
|
|
git checkout ${{ env.github_sha }}
|
|
rustup component add clippy
|
|
cargo clippy --no-default-features -- -D warnings
|
|
cargo clippy --no-default-features --features io-uring -- -D warnings
|
|
|
|
tests:
|
|
runs-on: docker
|
|
container:
|
|
image: docker.io/asonix/rust-builder:latest-linux-amd64
|
|
steps:
|
|
- run: |
|
|
git clone ${{ env.github_server_url }}/${{ env.github_repository }} .
|
|
git checkout ${{ env.github_sha }}
|
|
cargo test
|
|
|
|
check:
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- image: docker.io/asonix/rust-builder:latest-linux-amd64
|
|
target: x86_64-unknown-linux-musl
|
|
- image: docker.io/asonix/rust-builder:latest-linux-arm32v7
|
|
target: armv7-unknown-linux-musleabihf
|
|
- image: docker.io/asonix/rust-builder:latest-linux-arm64v8
|
|
target: aarch64-unknown-linux-musl
|
|
runs-on: docker
|
|
container:
|
|
image: ${{ matrix.image }}
|
|
steps:
|
|
- run: |
|
|
git clone ${{ env.github_server_url }}/${{ env.github_repository }} .
|
|
git checkout ${{ env.github_sha }}
|
|
cargo check --target ${{ matrix.target }}
|