chore(deps): bump base64 from 0.22.1 to 0.23.1 (#51) #83
This file contains hidden or 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: | |
| 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 |