Add workstation workflows, profiles, recovery verification and deskto… #1
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: Linux packages | |
| on: | |
| push: | |
| branches: [main] | |
| tags: ["v*"] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: linux-packages-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ubuntu: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 35 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22.23.2" | |
| cache: npm | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Install build and smoke-test dependencies | |
| run: sudo apt-get update && sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential libssl-dev libayatana-appindicator3-dev librsvg2-dev patchelf restic rpm libarchive-tools xvfb dbus-x11 libnotify-bin | |
| - run: npm ci | |
| - run: npm run check && npm test && npm run test:rust | |
| - run: cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings | |
| - run: npm run desktop:package | |
| - run: python3 scripts/verify-packages.py | |
| - name: Install Debian package | |
| run: sudo apt-get install -y ./artifacts/release/*.deb | |
| - name: Launch installed application on a virtual display | |
| run: bash scripts/smoke-desktop.sh /usr/bin/command-center | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: ubuntu-packages | |
| path: artifacts/release/* | |
| fedora: | |
| runs-on: ubuntu-24.04 | |
| container: fedora:43 | |
| timeout-minutes: 35 | |
| steps: | |
| - name: Install tools | |
| run: dnf install -y git nodejs npm rust cargo gcc gcc-c++ pkgconf-pkg-config openssl-devel webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel rpm-build python3 binutils libarchive xorg-x11-server-Xvfb xorg-x11-xauth dbus-daemon shadow-utils libnotify | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22.23.2" | |
| - uses: dtolnay/rust-toolchain@stable | |
| - run: npm ci && npm run check && npm test | |
| - run: npm run desktop:package | |
| - run: python3 scripts/verify-packages.py | |
| - name: Install RPM and create smoke-test user | |
| run: dnf install -y ./artifacts/release/*.rpm && useradd -m smoke | |
| - name: Launch installed application as a normal user | |
| run: runuser -u smoke -- bash scripts/smoke-desktop.sh /usr/bin/command-center | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: fedora-packages | |
| path: artifacts/release/* |