skip/.forgejo/workflows/push-next.yml

79 lines
1.6 KiB
YAML

name: Test
on:
push:
branches:
- next
pull_request:
branches:
- main
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
toml:
runs-on: docker
container:
image:
docker.io/tamasfe/taplo:0.9.3
steps:
- name: Checkout
uses: actions/checkout@v4
- name: toml format
run: taplo format --check
build:
runs-on: docker
container:
image:
git.kemitix.net/kemitix/rust:v3.0.0
strategy:
matrix:
toolchain:
- name: stable
- name: nightly
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check TODOs
uses: https://git.kemitix.net/kemitix/forgejo-todo-checker@v1.3.0
- name: Ignored Files
run: |
IGNORED=$(git ls-files --cached -i --exclude-standard)
if [[ "$IGNORED" ]]
then
echo "Ignored files present:\n$IGNORED"
exit 1
fi
- name: Machete
run: cargo +${{ matrix.toolchain.name }} machete
- name: Format
run: cargo +${{ matrix.toolchain.name }} fmt --all --check
- name: Clippy
run: cargo +${{ matrix.toolchain.name }} hack --feature-powerset clippy
- name: Build
run: cargo +${{ matrix.toolchain.name }} hack --feature-powerset build
- name: Test
run: cargo +${{ matrix.toolchain.name }} hack --feature-powerset test
- name: Integration
run: ./test.sh
- name: Mutations
run: cargo +${{ matrix.toolchain.name }} mutants -vV --in-place