Skip to content

Prepare release

Prepare release #767

Workflow file for this run

name: CI
on:
push:
branches:
# test branches
- 'try-**'
# main branches
- main
- next
pull_request:
release:
types: [released, prereleased]
jobs:
ci:
strategy:
matrix:
version:
- 1.72.1 # MSRV
- stable
- nightly
os:
- ubuntu-latest
- macos-latest
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: setup toolchain
# `--no-self-update` is needed due to a permission issue on the GHA env.
run: |
rustup set profile minimal
rustup toolchain install ${{ matrix.version }} --no-self-update
rustup override set ${{ matrix.version }}
- name: check build serde,macos_kqueue for examples
if: matrix.version != '1.72.1' && matrix.os == 'macos-latest'
run: cargo check -p notify --features=serde,macos_kqueue --examples
- name: check build serde,macos_kqueue
if: matrix.version == '1.72.1' && matrix.os == 'macos-latest'
run: cargo check -p notify --features=serde,macos_kqueue
- name: check build serde for examples
if: matrix.version != '1.72.1' && matrix.os != 'macos-latest'
run: cargo check -p notify --features=serde --examples
- name: check build serde
if: matrix.version == '1.72.1' && matrix.os != 'macos-latest'
run: cargo check --features=serde
- name: check build without crossbeam/default features
if: matrix.version == 'stable'
run: cargo check -p notify --no-default-features --features=macos_fsevent
# -p notify required for feature selection!
- name: check build without crossbeam/default features on macos with kqueue
if: matrix.version == 'stable' && matrix.os == 'macos-latest'
run: cargo check -p notify --no-default-features --features=macos_kqueue
# -p notify required for feature selection!
- name: check notify debouncer mini without crossbeam/default features
if: matrix.version == 'stable'
run: cargo check -p notify-debouncer-mini --no-default-features --features=macos_fsevent
# -p required for feature selection to actually work!
- name: check notify debouncer mini without crossbeam/default features on macos with kqueue
if: matrix.version == 'stable' && matrix.os == 'macos-latest'
run: cargo check -p notify-debouncer-mini --no-default-features --features=macos_kqueue
# -p required for feature selection to actually work!
- name: check notify debouncer full without crossbeam/default features
if: matrix.version == 'stable'
run: cargo check -p notify-debouncer-full --no-default-features --features=macos_fsevent
# -p required for feature selection to actually work!
- name: check notify debouncer full without crossbeam/default features on macos with kqueue
if: matrix.version == 'stable' && matrix.os == 'macos-latest'
run: cargo check -p notify-debouncer-full --no-default-features --features=macos_kqueue
# -p required for feature selection to actually work!
- name: check build examples
if: matrix.version == 'stable'
run: cargo check --package examples --examples
- name: test hot_reload_tide
if: matrix.version == 'stable'
run: cargo test
working-directory: examples/hot_reload_tide
- name: test
if: matrix.version == 'stable'
shell: bash
run: tests/and-retry --features serde
bsd:
strategy:
matrix:
target:
- x86_64-unknown-netbsd
- x86_64-unknown-freebsd
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup toolchain
# `--no-self-update` is needed due to a permission issue on the GHA env.
run: |
rustup set profile minimal
rustup toolchain install stable --no-self-update
rustup target add ${{ matrix.target }}
- name: check build
# we can't cargo build here due to missing OS libraries
# see .cirrus.yml for full netbsd builds
run: |
rustc --version && cargo --version
cargo check --target ${{ matrix.target }}
- name: check build without crossbeam/default features
run: cargo build -p notify --no-default-features --target ${{ matrix.target }}
# If this fails, consider changing your text or adding something to .typos.toml
typos:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: check typos
uses: crate-ci/[email protected]
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install cargo-audit
run: |
rustup override set stable
cargo install cargo-audit
- name: audit check
run: cargo audit