Prepare release #767
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |