mirror of https://codeberg.org/topola/topola.git
146 lines
3.5 KiB
YAML
146 lines
3.5 KiB
YAML
on: [push, pull_request, workflow_dispatch]
|
|
|
|
name: CI
|
|
|
|
env:
|
|
RUSTFLAGS: -D warnings
|
|
RUSTDOCFLAGS: -D warnings
|
|
|
|
jobs:
|
|
check:
|
|
name: Check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: check
|
|
args: --all-features
|
|
|
|
check_wasm:
|
|
name: Check wasm32
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
target: wasm32-unknown-unknown
|
|
override: true
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: check
|
|
args: --all-features --lib --target wasm32-unknown-unknown
|
|
|
|
test:
|
|
name: Test Suite
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
- run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: test
|
|
args: --lib
|
|
|
|
fmt:
|
|
name: Rustfmt
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: fmt
|
|
args: --all -- --check
|
|
|
|
clippy:
|
|
name: Clippy
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: clippy
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: clippy
|
|
args: -- -D warnings
|
|
|
|
trunk:
|
|
name: trunk
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: 1.88.0
|
|
target: wasm32-unknown-unknown
|
|
override: true
|
|
- name: Download and install Trunk binary
|
|
run: wget -qO- https://github.com/thedodd/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf-
|
|
- name: Build
|
|
run: ./trunk build
|
|
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: macos-latest
|
|
TARGET: aarch64-apple-darwin
|
|
|
|
- os: macos-latest
|
|
TARGET: x86_64-apple-darwin
|
|
|
|
- os: ubuntu-latest
|
|
TARGET: arm-unknown-linux-musleabihf
|
|
|
|
- os: ubuntu-latest
|
|
TARGET: armv7-unknown-linux-musleabihf
|
|
|
|
- os: ubuntu-latest
|
|
TARGET: x86_64-unknown-linux-musl
|
|
|
|
- os: windows-latest
|
|
TARGET: x86_64-pc-windows-msvc
|
|
EXTENSION: .exe
|
|
|
|
steps:
|
|
- name: Building ${{ matrix.TARGET }}
|
|
run: echo "${{ matrix.TARGET }}"
|
|
|
|
- uses: actions/checkout@master
|
|
- uses: actions-rs/toolchain@v1.0.1
|
|
with:
|
|
toolchain: stable
|
|
target: ${{ matrix.TARGET }}
|
|
override: true
|
|
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
use-cross: true
|
|
command: build
|
|
args: --verbose --release --target=${{ matrix.TARGET }}
|