|
| 1 | +--- |
| 2 | +name: RPM build |
| 3 | + |
| 4 | +on: |
| 5 | + pull_request: |
| 6 | + branches: ["main"] |
| 7 | + |
| 8 | +jobs: |
| 9 | + rpmbuild: |
| 10 | + name: Generate crate and run RPM Build |
| 11 | + runs-on: ubuntu-22.04 |
| 12 | + container: fedora:rawhide |
| 13 | + steps: |
| 14 | + - name: Configure container to install docs (#2312825) |
| 15 | + run: sed -i -e 's/tsflags=nodocs//g' /etc/dnf/dnf.conf |
| 16 | + |
| 17 | + - name: Install Dependencies |
| 18 | + run: | |
| 19 | + dnf -y install rustc rpm-build cargo-rpm-macros openssl-devel \ |
| 20 | + 'crate(asn1/default)' 'crate(bimap/default)' \ |
| 21 | + 'crate(bindgen/default)' 'crate(bitflags/default)' 'crate(cfg-if/default)' \ |
| 22 | + 'crate(clap)' 'crate(clap/cargo)' 'crate(clap/derive)' 'crate(clap/help)' \ |
| 23 | + 'crate(clap/std)' 'crate(clap/usage)' 'crate(constant_time_eq/default)' \ |
| 24 | + 'crate(data-encoding/default)' 'crate(getrandom/default) < 0.3.0~)' 'crate(hex/default)' \ |
| 25 | + 'crate(itertools/default)' 'crate(libc/default)' 'crate(num-bigint/default)' \ |
| 26 | + 'crate(num-integer/default)' 'crate(num-traits/default)' 'crate(once_cell/default)' \ |
| 27 | + 'crate(paste/default)' 'crate(pkg-config/default)' 'crate(rusqlite/default)' \ |
| 28 | + 'crate(serde/default)' 'crate(serde/derive)' 'crate(serde_json/default)' \ |
| 29 | + 'crate(serial_test/default)' 'crate(toml)' 'crate(toml/display)' 'crate(toml/parse)' \ |
| 30 | + 'crate(uuid/default)' 'crate(uuid/v4)' |
| 31 | +
|
| 32 | + - name: Checkout Repository |
| 33 | + uses: actions/checkout@v4 |
| 34 | + |
| 35 | + - name: RPM Build |
| 36 | + run: | |
| 37 | + cargo package --features=standard,dynamic,nssdb |
| 38 | + mkdir -p rpmbuild/SOURCES |
| 39 | + cp target/package/kryoptic-*.crate rpmbuild/SOURCES/ |
| 40 | + rpmbuild --define "_topdir $PWD/rpmbuild" -ba \ |
| 41 | + packaging/kryoptic.spec |
| 42 | +
|
0 commit comments