mirror of
https://github.com/encounter/notify.git
synced 2026-03-30 11:31:42 -07:00
6ac5105a49
See https://github.com/hannobraun/inotify-rs/blob/main/CHANGELOG.md This requires updating the MSRV from 1.60 to 1.63.
141 lines
4.6 KiB
YAML
141 lines
4.6 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
# test branches
|
|
- 'try-**'
|
|
|
|
# main branches
|
|
- main
|
|
- next
|
|
pull_request:
|
|
release:
|
|
types: [released, prereleased]
|
|
|
|
jobs:
|
|
ci:
|
|
strategy:
|
|
matrix:
|
|
version:
|
|
- 1.63.0 # MSRV
|
|
- stable
|
|
- nightly
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-latest
|
|
- windows-latest
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- 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.63.0' && matrix.os == 'macos-latest'
|
|
run: cargo check -p notify --features=serde,macos_kqueue --examples
|
|
|
|
- name: check build serde,macos_kqueue
|
|
if: matrix.version == '1.63.0' && matrix.os == 'macos-latest'
|
|
run: cargo check -p notify --features=serde,macos_kqueue
|
|
|
|
- name: check build serde for examples
|
|
if: matrix.version != '1.63.0' && matrix.os != 'macos-latest'
|
|
run: cargo check -p notify --features=serde --examples
|
|
|
|
- name: check build serde
|
|
if: matrix.version == '1.63.0' && 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@v3
|
|
|
|
- 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 }}
|
|
|
|
audit:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: install cargo-audit
|
|
run: |
|
|
rustup override set stable
|
|
cargo install cargo-audit
|
|
|
|
- name: audit check
|
|
run: cargo audit
|