Skip to content

Merge #111

Merge #111 #114

Workflow file for this run

name: CI
on:
push:
branches: [staging, trying]
pull_request:
branches: [master]
types: [opened, reopened, synchronize]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
target:
- x86_64-unknown-linux-gnu
- x86_64-unknown-linux-musl
- i686-unknown-linux-musl
- armv7-unknown-linux-musleabihf
- aarch64-unknown-linux-musl
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
target: ${{ matrix.target }}
override: true
- name: install aarch64-compiler cross-compiler
if: matrix.target == 'aarch64-unknown-linux-musl'
run: |
sudo apt install gcc-aarch64-linux-gnu
mkdir .cargo
cat >.cargo/config <<EOF
[target.aarch64-unknown-linux-musl]
linker = "aarch64-linux-gnu-gcc"
EOF
- name: install armv7-compiler cross-compiler
if: matrix.target == 'armv7-unknown-linux-musleabihf'
run: |
sudo apt install gcc-arm-linux-gnueabihf
mkdir .cargo
cat >.cargo/config <<EOF
[target.armv7-unknown-linux-musleabihf]
linker = "arm-linux-gnueabihf-gcc"
EOF
- name: Test
uses: actions-rs/cargo@v1
if: matrix.target != 'armv7-unknown-linux-musleabihf' && matrix.target != 'aarch64-unknown-linux-musl'
with:
command: test
args: --target ${{ matrix.target }}
- name: Build
uses: actions-rs/cargo@v1
if: matrix.target == 'armv7-unknown-linux-musleabihf' || matrix.target == 'aarch64-unknown-linux-musl'
with:
command: build
args: --target ${{ matrix.target }}
lint:
name: Linting (fmt + clippy)
runs-on: ubuntu-latest
steps:
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Checkout
uses: actions/checkout@v3
- name: Clippy
uses: actions-rs/cargo@v1
with:
command: clippy
- name: Format check
uses: actions-rs/cargo@v1
with:
command: fmt
args: -- --check