mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-02 00:00:03 +03:00
1c2cb80376
- include rules file in rpmspec - update install docs with udev build requirement Signed-off-by: Alexander Fougner <fougner89@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
90 lines
3.1 KiB
YAML
90 lines
3.1 KiB
YAML
on: [push]
|
|
|
|
name: build
|
|
|
|
jobs:
|
|
|
|
deb:
|
|
name: bcachefs-tools-deb
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-20.04, ubuntu-22.04]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Disable initramfs update
|
|
run: sudo sed -i 's/yes/no/g' /etc/initramfs-tools/update-initramfs.conf
|
|
- name: Disable man-db update
|
|
run: sudo rm -f /var/lib/man-db/auto-update
|
|
- name: Install build-deps
|
|
run: |
|
|
sudo apt-get update && sudo apt-get -y --no-install-recommends install pkg-config libaio-dev libblkid-dev \
|
|
libkeyutils-dev liblz4-dev libsodium-dev liburcu-dev libzstd-dev \
|
|
uuid-dev zlib1g-dev valgrind libudev-dev python3-docutils \
|
|
debhelper llvm clang libclang-dev rustc cargo \
|
|
devscripts udev
|
|
- name: Setup Rust
|
|
run: |
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
|
|
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
|
|
- name: Make deb
|
|
run: |
|
|
make -j`nproc` deb
|
|
mkdir dist && mv ../*.deb ./dist/
|
|
- name: Upload deb
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: bcachefs-tools-deb_${{ matrix.os }}
|
|
path: dist
|
|
|
|
rpm:
|
|
name: bcachefs-tools-rpm
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: docker.io/fedora:latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install build essentials
|
|
run: dnf install -y nodejs make rpmdevtools yum-utils
|
|
- name: Setup Rust
|
|
run: |
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
|
|
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
|
|
- name: Install build-deps
|
|
run: dnf builddep -y packaging/bcachefs-tools.spec
|
|
- name: Make rpm
|
|
run: |
|
|
make -j`nproc` rpm
|
|
mv ${HOME}/rpmbuild ./
|
|
- name: Upload rpm
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: bcachefs-tools-rpm
|
|
path: rpmbuild
|
|
|
|
msrv:
|
|
name: bcachefs-tools-msrv
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Disable initramfs update
|
|
run: sudo sed -i 's/yes/no/g' /etc/initramfs-tools/update-initramfs.conf
|
|
- name: Disable man-db update
|
|
run: sudo rm -f /var/lib/man-db/auto-update
|
|
- name: Install build-deps
|
|
run: |
|
|
sudo apt-get update && sudo apt-get -y --no-install-recommends install pkg-config libaio-dev libblkid-dev \
|
|
libkeyutils-dev liblz4-dev libsodium-dev liburcu-dev libzstd-dev \
|
|
uuid-dev zlib1g-dev valgrind libudev-dev python3-docutils libclang-dev
|
|
- name: Extract MSRV
|
|
run: |
|
|
MSRV=$(cargo metadata --format-version 1 --no-deps --manifest-path rust-src/Cargo.toml |
|
|
jq -r '.packages[] | select(.name == "bcachefs-rust") | .rust_version')
|
|
echo "MSRV=$MSRV" >> $GITHUB_ENV
|
|
- name: Install Rust ${{ env.MSRV }} toolchain
|
|
run: |
|
|
rustup install --profile minimal ${{ env.MSRV }}
|
|
- name: Make
|
|
run: |
|
|
CARGO_TOOLCHAIN_VERSION=${{ env.MSRV }} make -j`nproc`
|