Enable symbol mangling on macOS and Windows #191
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: Rust | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
strategy: | |
fail-fast: true | |
matrix: | |
os-arch: | |
- { os: "ubuntu-latest", arch: "X64" } | |
- { os: "windows-11", arch: "X64" } | |
- { os: "macos-ventura", arch: "ARM64" } | |
- { os: "ubuntu-22.04", arch: "ARM64" } | |
runs-on: ["${{ matrix.os-arch.os }}", "${{ matrix.os-arch.arch }}"] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install ACL | |
if: startsWith(matrix.os-arch.os,'ubuntu') | |
run: sudo apt-get -y install acl-dev | |
- name: Install LLVM toolchain | |
if: startsWith(matrix.os-arch.os,'macos') | |
run: | | |
brew install llvm@19 | |
ls /opt/homebrew/opt/llvm@19/bin | |
echo "/opt/homebrew/opt/llvm@19/bin" >> $GITHUB_PATH | |
- name: Install Rust toolchain | |
run: | | |
rustup show | |
rustup component add rustfmt clippy | |
- name: Code format check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: -- --check | |
- name: Clippy check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: -- -D warnings | |
- name: Build (default features) | |
run: cargo build --verbose | |
- name: Build (with Iceoryx) | |
if: ${{ ! startsWith(matrix.os-arch.os,'window') }} | |
run: cargo build --features iceoryx --verbose | |
- name: Build (with symbol prefixing) | |
run: cargo build --features prefix_symbols --verbose | |
- name: Run tests (default features) | |
run: cargo test --verbose | |
# Currently disabled as it fails on ubuntu-22.04 ARM and ubuntu-latest X86 builds with link errors | |
# Note links successfully when incorporated into Zenoh DDS plugin | |
# - name: Run tests (with Iceoryx) | |
# if: ${{ ! startsWith(matrix.os-arch.os,'window') }} | |
# run: cargo test --features iceoryx --verbose | |
- name: Run tests (with symbol prefixing) | |
run: cargo test --features prefix_symbols --verbose |