update. debian package update. #77
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: Test | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| quality: | |
| name: Quality Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Cache Rust artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Format | |
| run: cargo fmt --all --check | |
| - name: Build | |
| run: cargo build --workspace --all-targets | |
| - name: Clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| test: | |
| name: Test (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Rust artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Test | |
| run: cargo test --workspace --all-targets | |
| packaging-debian: | |
| name: Packaging Check (Debian) | |
| runs-on: ubuntu-latest | |
| container: debian:sid | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Install Debian packaging dependencies | |
| run: | | |
| apt-get update | |
| apt-get install -y \ | |
| bash-completion \ | |
| build-essential \ | |
| cargo \ | |
| debhelper \ | |
| dh-cargo \ | |
| dpkg-dev \ | |
| gcc \ | |
| libstd-rust-dev \ | |
| librust-ansi-term-dev \ | |
| librust-assert-cmd-dev \ | |
| librust-chardetng-dev \ | |
| librust-chrono-dev \ | |
| librust-clap+cargo-dev \ | |
| librust-clap+derive-dev \ | |
| librust-config+ini-dev \ | |
| librust-crossbeam-channel-dev \ | |
| librust-crossterm-dev \ | |
| librust-ctrlc+termination-dev \ | |
| librust-encoding-rs-dev \ | |
| librust-flate2-dev \ | |
| librust-libloading-dev \ | |
| librust-nix+fs-dev \ | |
| librust-nix+process-dev \ | |
| librust-nix+signal-dev \ | |
| librust-nix+term-dev \ | |
| librust-ratatui+crossterm-dev \ | |
| librust-rayon-dev \ | |
| librust-regex-dev \ | |
| librust-predicates-dev \ | |
| librust-proptest-dev \ | |
| librust-serde+derive-dev \ | |
| librust-serde-json-dev \ | |
| librust-shell-words-dev \ | |
| librust-similar+bytes-dev \ | |
| librust-similar+inline-dev \ | |
| librust-similar+serde-dev \ | |
| librust-similar+text-dev \ | |
| librust-similar+unicode-dev \ | |
| librust-tempfile-dev \ | |
| librust-unicode-segmentation-dev \ | |
| librust-unicode-width-dev \ | |
| python3 \ | |
| rustc | |
| - name: Debian package build | |
| run: | | |
| rm -rf debian | |
| cp -a package/debian debian | |
| dpkg-buildpackage -us -uc -d -b | |
| packaging-fedora: | |
| name: Packaging Check (Fedora) | |
| runs-on: ubuntu-latest | |
| container: fedora:latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Install RPM packaging dependencies | |
| run: | | |
| dnf install -y \ | |
| bash-completion \ | |
| rust-packaging \ | |
| rpm-build \ | |
| gcc | |
| - name: Prepare RPM sources | |
| run: | | |
| VERSION="$(awk -F '\"' '/^version = / { print $2; exit }' Cargo.toml)" | |
| TOPDIR="$PWD/rpmbuild" | |
| SOURCEDIR="$TOPDIR/SOURCES" | |
| SPECDIR="$TOPDIR/SPECS" | |
| mkdir -p "$SOURCEDIR" "$SPECDIR" "$TOPDIR/BUILD" "$TOPDIR/RPMS" "$TOPDIR/SRPMS" "$TOPDIR/BUILDROOT" | |
| cp package/fedora/hwatch.spec "$SPECDIR/hwatch.spec" | |
| tar --exclude='./rpmbuild' --exclude='./target' --exclude='./package' --exclude-vcs -czf "$SOURCEDIR/hwatch-${VERSION}.tar.gz" --transform "s,^,hwatch-${VERSION}/," . | |
| - name: RPM package build | |
| run: | | |
| rpmbuild -bs "$PWD/rpmbuild/SPECS/hwatch.spec" \ | |
| --define "_topdir $PWD/rpmbuild" \ | |
| --define "_target_cpu x86_64" \ | |
| --nodeps | |
| rpmbuild -bb "$PWD/rpmbuild/SPECS/hwatch.spec" \ | |
| --define "_topdir $PWD/rpmbuild" \ | |
| --define "_target_cpu x86_64" \ | |
| || true | |
| buildreq="$(find "$PWD/rpmbuild/SRPMS" -name '*.buildreqs.nosrc.rpm' -print -quit)" | |
| dnf install -y "$buildreq" | |
| rpmbuild -bb "$PWD/rpmbuild/SPECS/hwatch.spec" \ | |
| --define "_topdir $PWD/rpmbuild" \ | |
| --define "_target_cpu x86_64" | |
| packaging-debian-strict: | |
| name: Packaging Check (Debian, Strict) | |
| runs-on: ubuntu-latest | |
| container: debian:sid | |
| continue-on-error: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Install Debian packaging dependencies | |
| run: | | |
| apt-get update | |
| apt-get install -y \ | |
| bash-completion \ | |
| build-essential \ | |
| cargo \ | |
| debhelper \ | |
| dh-cargo \ | |
| dh-sequence-cargo \ | |
| dpkg-dev \ | |
| gcc \ | |
| python3 \ | |
| librust-ansi-term-dev \ | |
| librust-assert-cmd-dev \ | |
| librust-chardetng-dev \ | |
| librust-chrono-dev \ | |
| librust-clap+cargo-dev \ | |
| librust-clap+derive-dev \ | |
| librust-config+ini-dev \ | |
| librust-crossbeam-channel-dev \ | |
| librust-crossterm-dev \ | |
| librust-ctrlc+termination-dev \ | |
| librust-encoding-rs-dev \ | |
| librust-flate2-dev \ | |
| librust-libloading-dev \ | |
| librust-nix+fs-dev \ | |
| librust-nix+process-dev \ | |
| librust-nix+signal-dev \ | |
| librust-nix+term-dev \ | |
| librust-ratatui+crossterm-dev \ | |
| librust-rayon-dev \ | |
| librust-regex-dev \ | |
| librust-predicates-dev \ | |
| librust-serde+derive-dev \ | |
| librust-serde-json-dev \ | |
| librust-shell-words-dev \ | |
| librust-similar+bytes-dev \ | |
| librust-similar+inline-dev \ | |
| librust-similar+serde-dev \ | |
| librust-similar+text-dev \ | |
| librust-similar+unicode-dev \ | |
| librust-tempfile-dev \ | |
| librust-unicode-segmentation-dev \ | |
| librust-unicode-width-dev \ | |
| rustc | |
| - name: Debian package build (strict) | |
| run: | | |
| rm -rf debian | |
| cp -a package/debian debian | |
| dpkg-buildpackage -us -uc -b | |
| packaging-fedora-strict: | |
| name: Packaging Check (Fedora, Strict) | |
| runs-on: ubuntu-latest | |
| container: fedora:latest | |
| continue-on-error: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Install RPM packaging dependencies | |
| run: | | |
| dnf install -y \ | |
| bash-completion \ | |
| cargo \ | |
| rpm-build \ | |
| rust \ | |
| rust-packaging \ | |
| gcc | |
| - name: Prepare RPM sources | |
| run: | | |
| VERSION="$(awk -F '\"' '/^version = / { print $2; exit }' Cargo.toml)" | |
| TOPDIR="$PWD/rpmbuild" | |
| SOURCEDIR="$TOPDIR/SOURCES" | |
| SPECDIR="$TOPDIR/SPECS" | |
| mkdir -p "$SOURCEDIR" "$SPECDIR" "$TOPDIR/BUILD" "$TOPDIR/RPMS" "$TOPDIR/SRPMS" "$TOPDIR/BUILDROOT" | |
| cp package/fedora/hwatch.spec "$SPECDIR/hwatch.spec" | |
| tar --exclude='./rpmbuild' --exclude='./target' --exclude='./package' --exclude-vcs -czf "$SOURCEDIR/hwatch-${VERSION}.tar.gz" --transform "s,^,hwatch-${VERSION}/," . | |
| - name: RPM package build (strict) | |
| run: | | |
| rpmbuild -bs "$PWD/rpmbuild/SPECS/hwatch.spec" \ | |
| --define "_topdir $PWD/rpmbuild" \ | |
| --define "_target_cpu x86_64" | |
| rpmbuild -bb "$PWD/rpmbuild/SPECS/hwatch.spec" \ | |
| --define "_topdir $PWD/rpmbuild" \ | |
| --define "_target_cpu x86_64" \ | |
| || true | |
| buildreq="$(find "$PWD/rpmbuild/SRPMS" -name '*.buildreqs.nosrc.rpm' -print -quit)" | |
| dnf install -y "$buildreq" | |
| rpmbuild -bb "$PWD/rpmbuild/SPECS/hwatch.spec" \ | |
| --define "_topdir $PWD/rpmbuild" \ | |
| --define "_target_cpu x86_64" |