name: CI
on:
push:
branches:
- '**'
tags:
- '*'
pull_request:
branches:
- master
jobs:
build-ubuntu-fuse2:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [
"ubuntu-24.04",
"ubuntu-26.04",
"ubuntu-24.04-arm",
"ubuntu-26.04-arm",
]
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Install libfuse-dev
run: sudo apt-get install -y libfuse-dev
- name: Build
run: cargo build --features fuse_26 --verbose
- name: Test
run: cargo test --features fuse_26 --verbose
- name: Upload bindings
uses: actions/upload-artifact@v7
if: failure()
with:
name: fuse_bindings
path: |
target/fuse.rs
target/fuse_lowlevel.rs
build-ubuntu-fuse3:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [
"ubuntu-24.04",
"ubuntu-26.04",
"ubuntu-24.04-arm",
"ubuntu-26.04-arm",
]
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Install libfuse3-dev
run: sudo apt-get install -y libfuse3-dev
- name: Build
run: cargo build --features fuse_35 --verbose
- name: Test
run: cargo test --features fuse_35 --verbose
- name: Upload bindings
uses: actions/upload-artifact@v7
if: failure()
with:
name: fuse_bindings
path: |
target/fuse.rs
target/fuse_lowlevel.rs
build-macos:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [
"macos-15",
"macos-26",
"macos-15-intel",
"macos-26-intel",
]
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Install macfuse
run: brew install macfuse
- name: Build
run: cargo build --verbose
- name: Test
run: cargo test --verbose
- name: Upload bindings
uses: actions/upload-artifact@v7
if: failure()
with:
name: fuse_bindings
path: |
target/fuse.rs
target/fuse_lowlevel.rs