jj/.github/workflows/build.yml
Martin von Zweigbergk 31041ef46c github: trigger all builds on main branch, and PR for any branch
The conditions for triggering Nix builds and other builds were
slightly different.

Nix builds triggered by PRs happened on PRs for any branch, not just
the `main` branch. That makes very little difference in practice
because PRs for other branches are very rare. Still, let's be
consistent. I decided to trigger the builds on PRs for any branch.

More importantly, Nix builds triggered by push were only done for
pushes to `master`, which is not what our main branch is called, so
those never happened.
2022-05-06 11:56:50 -07:00

85 lines
2.3 KiB
YAML

name: build
on:
push:
branches:
- main
pull_request:
permissions: read-all
jobs:
build:
strategy:
fail-fast: false
matrix:
build: [linux, linux-msrv, macos, win]
include:
- build: linux
os: ubuntu-latest
rust_version: stable
- build: linux-msrv
os: ubuntu-latest
rust_version: "1.60"
- build: macos
os: macos-latest
rust_version: stable
- build: win
os: windows-latest
rust_version: stable
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- name: Install Rust (${{ matrix.rust_version }})
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af
with:
toolchain: ${{ matrix.rust_version }}
override: true
profile: minimal
- name: Build
uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505
with:
command: build
args: --workspace --verbose
- name: Test
uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505
with:
command: test
args: --workspace --verbose
env:
RUST_BACKTRACE: 1
rustfmt:
name: Check formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af
with:
toolchain: nightly
profile: minimal
components: rustfmt
override: true
- uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505
with:
command: fmt
args: --all -- --check
clippy-check:
name: Clippy check
permissions:
checks: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af
with:
toolchain: stable
profile: minimal
components: clippy
override: true
- uses: actions-rs/clippy-check@b5b5f21f4797c02da247df37026fcd0a5024aa4d
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features --workspace --all-targets