Skip to content

chore(deps): bump base64 from 0.22.1 to 0.23.1 (#51) #83

chore(deps): bump base64 from 0.22.1 to 0.23.1 (#51)

chore(deps): bump base64 from 0.22.1 to 0.23.1 (#51) #83

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
release:
types: [published]
env:
CARGO_TERM_COLOR: always
jobs:
test:
strategy:
fail-fast: false
matrix:
runner:
- ubuntu-latest # amd64
- ubuntu-24.04-arm # aarch64 (GitHub public ARM runner)
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v7
- name: Install D-Bus + bluez headers
run: |
sudo apt-get update
sudo apt-get install -y libdbus-1-dev pkg-config bluez
- name: Install GTK deps (netprov-app)
if: matrix.runner == 'ubuntu-latest'
run: sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev libxdo-dev pkg-config
- name: Cache cargo
uses: actions/cache@v6
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-${{ matrix.runner }}-cargo-${{ hashFiles('**/Cargo.lock', '**/Cargo.toml') }}
- name: fmt
run: cargo fmt --all -- --check
- name: clippy (default features)
run: cargo clippy --workspace --all-targets -- -D warnings
- name: clippy (live-nm)
run: cargo clippy -p netprov-server --features live-nm --all-targets -- -D warnings
- name: clippy (live-ble)
run: cargo clippy -p netprov-server --features live-ble --all-targets -- -D warnings
- name: clippy (client ble)
run: cargo clippy -p netprov-client --features ble --all-targets -- -D warnings
# Forces the portable btleplug backend on Linux. The macOS job below is
# the real target, but running it here too keeps that code under -D
# warnings on every push, not just on the macOS runner.
- name: clippy (client ble-btleplug)
run: cargo clippy -p netprov-client --features ble-btleplug --all-targets -- -D warnings
- name: clippy (app desktop)
if: matrix.runner == 'ubuntu-latest'
run: cargo clippy -p netprov-app --features desktop --all-targets -- -D warnings
- name: install cargo-audit
uses: taiki-e/install-action@cargo-audit
- name: audit
run: cargo audit
- name: test (default)
run: cargo test --workspace
- name: test (live-ble)
run: cargo test -p netprov-server --features live-ble
- name: test (sdk ble-btleplug)
run: cargo test -p netprov-sdk --features ble-btleplug
- name: build (live-ble)
run: cargo build -p netprov-server --features live-ble
# The client and app are cross-platform; only netprovd is Linux-bound. This
# job is what keeps the btleplug/CoreBluetooth path buildable, so it builds
# per-crate rather than `--workspace` (netprov-server is not portable).
macos:
name: macos (btleplug)
runs-on: macos-latest
steps:
- uses: actions/checkout@v7
- name: Cache cargo
uses: actions/cache@v6
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-macos-cargo-${{ hashFiles('**/Cargo.lock', '**/Cargo.toml') }}
- name: fmt
run: cargo fmt --all -- --check
- name: clippy (sdk ble)
run: cargo clippy -p netprov-sdk --features ble --all-targets -- -D warnings
- name: clippy (client ble)
run: cargo clippy -p netprov-client --features ble --all-targets -- -D warnings
- name: clippy (app desktop)
run: cargo clippy -p netprov-app --features desktop --all-targets -- -D warnings
- name: test (sdk ble)
run: cargo test -p netprov-sdk --features ble
- name: build (client ble)
run: cargo build -p netprov-client --features ble
- name: build (app desktop)
run: cargo build -p netprov-app --features desktop
deb:
needs: test
permissions:
contents: write
strategy:
fail-fast: false
matrix:
runner:
- ubuntu-latest
- ubuntu-24.04-arm
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v7
- name: Install D-Bus + bluez
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev pkg-config bluez
- name: Cache cargo
uses: actions/cache@v6
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-${{ matrix.runner }}-cargo-deb-${{ hashFiles('**/Cargo.lock') }}
- name: Install cargo-deb
uses: taiki-e/install-action@cargo-deb
- name: Build release (server)
run: cargo build --release -p netprov-server --features live-ble,live-nm
- name: Build release (client, ble)
run: cargo build --release -p netprov-client --features ble
- name: Build deb
run: cargo deb -p netprov-server --no-build
- name: Upload deb artifact
uses: actions/upload-artifact@v7
with:
name: netprov-${{ matrix.runner }}
path: target/debian/*.deb
- name: Attach deb to release
if: github.event_name == 'release'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload "${{ github.event.release.tag_name }}" target/debian/*.deb --clobber