handle EINTR return code from tcdrain to effectively flush #501
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: | |
pull_request: | |
branches: | |
- main | |
push: | |
workflow_dispatch: | |
jobs: | |
# -------------------------------------------------------------------------- | |
# LINT | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Lint | install dependencies | |
run: | | |
sudo sed -i 's/azure.archive.ubuntu.com/archive.ubuntu.com/' /etc/apt/sources.list | |
sudo apt-get -qq update | |
sudo apt install -qq -y libudev-dev | |
- name: Lint | checkout | |
uses: actions/checkout@v2 | |
- name: Lint | install toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
components: clippy, rustfmt | |
- name: Lint | rust-cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Lint | check formatting | |
run: cargo fmt -- --check | |
- name: Lint | clippy | |
run: cargo clippy --all-targets --all-features | |
# -------------------------------------------------------------------------- | |
# MSRV | |
# | |
# Check at least once per platform. | |
msrv-aarch64-apple-darwin: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
target: aarch64-apple-darwin | |
toolchain: "1.59.0" | |
msrv-arm-linux-androideabi: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
target: arm-linux-androideabi | |
toolchain: "1.59.0" | |
msrv-x86_64-unknown-freebsd: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
target: x86_64-unknown-freebsd | |
toolchain: "1.59.0" | |
msrv-x86_64-unknown-linux-gnu: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
extra_packages: libudev-dev | |
target: x86_64-unknown-linux-gnu | |
toolchain: "1.59.0" | |
msrv-x86_64-unknown-linux-musl: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
extra_packages: gcc-aarch64-linux-gnu | |
target: aarch64-unknown-linux-musl | |
toolchain: "1.59.0" | |
msrv-x86_64-pc-windows-msvc: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
runs_on: windows-2019 | |
target: x86_64-pc-windows-msvc | |
toolchain: "1.59.0" | |
msrv-x86_64-unknown-netbsd: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
target: x86_64-unknown-netbsd | |
toolchain: "1.59.0" | |
# -------------------------------------------------------------------------- | |
# cargo-deny | |
cargo-deny: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
checks: | |
- advisories | |
- bans licenses sources | |
# Prevent sudden announcement of a new advisory from failing ci: | |
continue-on-error: ${{ matrix.checks == 'advisories' }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: EmbarkStudios/cargo-deny-action@v1 | |
with: | |
command: check ${{ matrix.checks }} | |
# -------------------------------------------------------------------------- | |
# BUILD | |
aarch64-apple-darwin: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_tests: true | |
runs_on: macos-latest | |
target: aarch64-apple-darwin | |
aarch64-apple-ios: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_tests: true | |
runs_on: macos-latest | |
target: aarch64-apple-ios | |
aarch64-unknown-linux-gnu: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
extra_packages: libudev-dev gcc-aarch64-linux-gnu libc6-dev-arm64-cross | |
target: aarch64-unknown-linux-gnu | |
aarch64-unknown-linux-musl: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_tests: true | |
extra_packages: gcc-aarch64-linux-gnu | |
target: aarch64-unknown-linux-musl | |
arm-linux-androideabi: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
target: arm-linux-androideabi | |
armv7-linux-androideabi: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
target: armv7-linux-androideabi | |
i686-pc-windows-gnu: | |
uses: ./.github/workflows/build.yaml | |
with: | |
runs_on: windows-2019 | |
target: i686-pc-windows-gnu | |
i686-pc-windows-msvc: | |
uses: ./.github/workflows/build.yaml | |
with: | |
runs_on: windows-2019 | |
target: i686-pc-windows-msvc | |
i686-unknown-linux-gnu: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
extra_packages: libudev-dev gcc-multilib | |
target: i686-unknown-linux-gnu | |
i686-unknown-linux-musl: | |
uses: ./.github/workflows/build.yaml | |
with: | |
extra_packages: libudev-dev gcc-multilib | |
target: i686-unknown-linux-musl | |
x86_64-apple-darwin: | |
uses: ./.github/workflows/build.yaml | |
with: | |
runs_on: macos-latest | |
target: x86_64-apple-darwin | |
x86_64-pc-windows-gnu: | |
uses: ./.github/workflows/build.yaml | |
with: | |
runs_on: windows-2019 | |
target: x86_64-pc-windows-gnu | |
x86_64-pc-windows-msvc: | |
uses: ./.github/workflows/build.yaml | |
with: | |
runs_on: windows-2019 | |
target: x86_64-pc-windows-msvc | |
x86_64-unknown-freebsd: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
target: x86_64-unknown-freebsd | |
x86_64-unknown-linux-gnu: | |
uses: ./.github/workflows/build.yaml | |
with: | |
extra_packages: libudev-dev | |
target: x86_64-unknown-linux-gnu | |
x86_64-unknown-linux-musl: | |
uses: ./.github/workflows/build.yaml | |
with: | |
target: x86_64-unknown-linux-musl | |
x86_64-unknown-netbsd: | |
uses: ./.github/workflows/build.yaml | |
with: | |
disable_extra_builds: true | |
disable_tests: true | |
target: x86_64-unknown-netbsd | |
# -------------------------------------------------------------------------- | |
# NIGHTLY BUILD | |
aarch64-apple-darwin-nightly: | |
uses: ./.github/workflows/build.yaml | |
with: | |
continue-on-error: true | |
disable_tests: true | |
runs_on: macos-latest | |
target: aarch64-apple-darwin | |
toolchain: nightly | |
x86_64-pc-windows-msvc-nightly: | |
uses: ./.github/workflows/build.yaml | |
with: | |
continue-on-error: true | |
runs_on: windows-2019 | |
target: x86_64-pc-windows-msvc | |
toolchain: nightly | |
x86_64-unknown-linux-gnu-nightly: | |
uses: ./.github/workflows/build.yaml | |
with: | |
continue-on-error: true | |
extra_packages: libudev-dev | |
target: x86_64-unknown-linux-gnu | |
toolchain: nightly |