2
0
Fork 0
mirror of https://git.asonix.dog/asonix/pict-rs synced 2024-11-01 10:09:57 +00:00
pict-rs/.forgejo/workflows/check.yaml

82 lines
2.5 KiB
YAML

on:
push:
pull_request:
branches:
- main
jobs:
zigbuild:
runs-on: docker
container:
image: docker.io/node:20-bookworm
steps:
-
name: Checkout pict-rs
uses: https://github.com/actions/checkout@v4
-
name: Install rustup and rust
uses: https://github.com/dtolnay/rust-toolchain@1.75.0
with:
targets: x86_64-unknown-linux-musl,armv7-unknown-linux-musleabihf,aarch64-unknown-linux-musl
components: clippy
-
name: Install cargo-binstall
uses: https://github.com/taiki-e/install-action@v2
with:
tool: cargo-binstall
-
name: Install zig
uses: https://github.com/goto-bus-stop/setup-zig@v2
with:
version: 0.11.0
-
name: Install cargo-zigbuild
run: cargo binstall cargo-zigbuild
-
name: Compile
run: |
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 }}