removing bounds checking #111
Workflow file for this run
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: Build Pipeline | |
on: | |
push: | |
branches: | |
- main | |
- master | |
- staging | |
- trying | |
- "renovate/**" | |
tags: | |
- "*" | |
pull_request: | |
env: | |
CARGO_TERM_COLOR: always | |
CARGO_INCREMENTAL: '0' | |
CARGO_PROFILE_DEV_DEBUG: '0' | |
RUSTFLAGS: "-D warnings" | |
RUSTDOCFLAGS: "-D warnings" | |
RUST_LOG: "info" | |
jobs: | |
# Identify unused dependencies | |
run_udeps: | |
name: Run Cargo Udeps | |
runs-on: ubuntu-latest | |
env: | |
RUSTC_BOOTSTRAP: 1 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Install libvncserver-dev | |
run: sudo apt install -y libvncserver-dev | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: cargo-udeps --locked | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: udeps | |
run_rustfmt: | |
name: Run Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
components: rustfmt | |
override: true | |
- name: Install libvncserver-dev | |
run: sudo apt install -y libvncserver-dev | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
run_clippy: | |
name: Run Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
components: clippy | |
override: true | |
- name: Install libvncserver-dev | |
run: sudo apt install -y libvncserver-dev | |
- name: Run clippy action to produce annotations | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
uses: actions-rs/clippy-check@v1 | |
if: env.GITHUB_TOKEN != null | |
with: | |
args: --all-targets -- -D warnings | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run clippy manually without annotations | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
if: env.GITHUB_TOKEN == null | |
run: cargo clippy --all-targets -- -D warnings | |
run_rustdoc: | |
name: Run RustDoc | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
components: rustfmt | |
override: true | |
- name: Install libvncserver-dev | |
run: sudo apt install -y libvncserver-dev | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: doc | |
args: --document-private-items | |
run_tests: | |
name: Run Cargo Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Install libvncserver-dev | |
run: sudo apt install -y libvncserver-dev | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
run_build: | |
name: Build for ${{ matrix.target }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- target: x86_64-unknown-linux-gnu | |
os: ubuntu-latest | |
file-suffix: "" | |
# - target: x86_64-pc-windows-gnu | |
# os: windows-latest | |
# file-suffix: ".exe" | |
- target: x86_64-apple-darwin | |
os: macos-latest | |
file-suffix: "" | |
# - target: aarch64-apple-darwin | |
# os: macos-latest | |
# file-suffix: "" | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
target: ${{ matrix.target }} | |
override: true | |
- if: runner.os == 'Linux' | |
run: sudo apt install -y libvncserver-dev | |
- if: runner.os == 'macOS' | |
run: brew install libvncserver | |
# - if: runner.os == 'Windows' | |
# uses: egor-tensin/setup-cygwin@v3 | |
# with: | |
# platform: x64 | |
# packages: pkg-config libvncserver-devel | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --target=${{ matrix.target }} --no-default-features | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --target=${{ matrix.target }} --all-features |