on: push: pull_request: branches: - main jobs: zigbuild: runs-on: docker container: image: docker.io/node:20-bookworm steps: - run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable --profile minimal -y curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash 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 cargo binstall cargo-zigbuild - uses: actions/checkout@v4 - run: | cargo clippy --no-default-features -- -D warnings cargo zigbuild --target x86_64-unknown-linux-musl cargo zigbuild --target armv7-unknown-linux-musleabihf cargo zigbuild --target aarch64-unknown-linux-musl 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 }}