]> git.sesse.net Git - bcachefs-tools-debian/blob - .github/workflows/build-packages.yml
Add packaging workflow
[bcachefs-tools-debian] / .github / workflows / build-packages.yml
1 on: [push]
2
3 name: build
4
5 env:
6   CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
7
8 jobs:
9
10   deb:
11     name: bcachefs-tools-deb
12     strategy:
13       matrix:
14         os: [ubuntu-20.04, ubuntu-22.04]
15     runs-on: ${{ matrix.os }}
16     steps:
17       - uses: actions/checkout@v3
18       - name: Disable initramfs update
19         run: sudo sed -i 's/yes/no/g' /etc/initramfs-tools/update-initramfs.conf
20       - name: Disable man-db update
21         run: sudo rm -f /var/lib/man-db/auto-update
22       - name: Install build-deps
23         run: |
24           sudo apt-get update && sudo apt-get -y install pkg-config libaio-dev libblkid-dev \
25               libkeyutils-dev liblz4-dev libsodium-dev liburcu-dev libzstd-dev \
26               uuid-dev zlib1g-dev valgrind libudev-dev python3-docutils \
27               debhelper llvm clang libclang-dev rustc cargo \
28               devscripts
29       - name: Setup Rust
30         run: |
31           curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
32           echo "$HOME/.cargo/bin" >> $GITHUB_PATH
33       - name: Make deb
34         run: |
35           make -j`nproc` deb
36           mkdir dist && mv ../*.deb ./dist/
37       - name: Upload deb
38         uses: actions/upload-artifact@v3
39         with:
40           name: bcachefs-tools-deb_${{ matrix.os }}
41           path: dist
42
43   rpm:
44     name: bcachefs-tools-rpm
45     runs-on: ubuntu-latest
46     container:
47       image: docker.io/fedora:latest
48     steps:
49       - uses: actions/checkout@v3
50       - name: Install build essentials
51         run: dnf install -y nodejs make rpmdevtools yum-utils
52       - name: Setup Rust
53         run: |
54           curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
55           echo "$HOME/.cargo/bin" >> $GITHUB_PATH
56       - name: Install build-deps
57         run: dnf builddep -y packaging/bcachefs-tools.spec
58       - name: Make rpm
59         run: |
60           make -j`nproc` rpm
61           mv ${HOME}/rpmbuild ./
62       - name: Upload rpm
63         uses: actions/upload-artifact@v3
64         with:
65           name: bcachefs-tools-rpm
66           path: rpmbuild