build(deps): bump clap_complete from 4.6.7 to 4.6.8 #147
Workflow file for this run
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: [master] | |
| pull_request: | |
| branches: [master] | |
| # CI only reads the repo; declare it explicitly so a compromised step can't | |
| # inherit a broader default token. | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| # cxx-qt's build script picks Qt up via qmake6 on $PATH. | |
| QMAKE: /usr/bin/qmake6 | |
| jobs: | |
| fmt: | |
| name: rustfmt | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable | |
| with: | |
| toolchain: stable | |
| components: rustfmt | |
| - run: cargo fmt --all -- --check | |
| lint: | |
| name: clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Install Qt 6 + C++ toolchain | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| qt6-base-dev \ | |
| qt6-declarative-dev \ | |
| qt6-tools-dev \ | |
| libgl1-mesa-dev \ | |
| clang \ | |
| ninja-build | |
| - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable | |
| with: | |
| toolchain: stable | |
| components: clippy | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - run: cargo clippy --workspace --all-targets -- -D warnings | |
| test: | |
| name: test (stable) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Install Qt 6 + runtime + C++ toolchain | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| qt6-base-dev \ | |
| qt6-declarative-dev \ | |
| qt6-tools-dev \ | |
| libgl1-mesa-dev \ | |
| clang \ | |
| ninja-build \ | |
| poppler-utils | |
| - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable | |
| with: | |
| toolchain: stable | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - run: cargo test --workspace --all-features | |
| build-gui: | |
| name: build + smoke GUI (Arch) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: archlinux:base-devel@sha256:25074821d28e54a0bbbd87a88d392f1489be9bd815ee5c60744be6e57fd500d8 | |
| steps: | |
| - name: Install Arch Qt 6 + Kirigami dependencies | |
| run: | | |
| pacman -Sy --noconfirm --needed archlinux-keyring | |
| pacman -Syu --noconfirm --needed \ | |
| git \ | |
| curl \ | |
| ca-certificates \ | |
| pkgconf \ | |
| qt6-base \ | |
| qt6-declarative \ | |
| kirigami \ | |
| clang \ | |
| ninja \ | |
| mesa | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable | |
| with: | |
| toolchain: stable | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - run: cargo build -p grexa --release | |
| - name: Smoke-test GUI binary under offscreen Qt | |
| env: | |
| QT_QPA_PLATFORM: offscreen | |
| run: | | |
| set +e | |
| timeout --preserve-status 5 target/release/grexa | |
| EXIT=$? | |
| set -e | |
| # 124 = timeout reached while Qt event loop was running | |
| # 143 = SIGTERM from --preserve-status | |
| # 0 = clean shutdown | |
| if [ "$EXIT" -ne 124 ] && [ "$EXIT" -ne 143 ] && [ "$EXIT" -ne 0 ]; then | |
| echo "GUI binary exited unexpectedly with $EXIT" >&2 | |
| exit "$EXIT" | |
| fi | |
| deny: | |
| name: cargo-deny | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable | |
| with: | |
| toolchain: stable | |
| - uses: EmbarkStudios/cargo-deny-action@3c6349835b2b7b196a839186cb8b78e02f7b5f25 # v2 | |
| appstream-validate: | |
| name: appstream metadata | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - run: sudo apt-get update && sudo apt-get install -y appstream | |
| - run: appstreamcli validate packaging/com.visorcraft.Grexa.metainfo.xml | |
| desktop-validate: | |
| name: desktop file | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - run: sudo apt-get update && sudo apt-get install -y desktop-file-utils | |
| - run: desktop-file-validate packaging/com.visorcraft.Grexa.desktop |