name: CI
on:
workflow_dispatch:
push:
branches:
- master
pull_request:
branches:
- master
merge_group:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
CLICOLOR_FORCE: 1
jobs:
ci:
name: CI
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
backend: [crossterm, termion, termwiz]
steps:
- name: Install libsixel
run: sudo apt-get -y install libsixel-dev
- name: Checkout
uses: actions/checkout@v2
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- uses: davidB/rust-cargo-make@v1
- name: CI ${{ matrix.backend }}
uses: actions-rs/cargo@v1
with:
command: make
args: --profile ${{ matrix.backend }} ci
ensure-readme:
name: Ensure readme is up-to-date
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- uses: davidB/rust-cargo-make@v1
- name: Make readme
run: cargo make readme
- name: Ensure no changes
run: git diff --exit-code .