cmd_fsck: Create loopback device for kernel fsck when necessary #471
This file contains 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
on: [push] | |
name: build | |
jobs: | |
deb: | |
name: bcachefs-tools-deb | |
strategy: | |
matrix: | |
os: [ubuntu-22.04, ubuntu-24.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 \ | |
valgrind \ | |
equivs devscripts | |
grep -q 22.04 /etc/os-release && sed -i -e 's/ systemd-dev,/ systemd,/g' debian/control | |
mk-build-deps | |
sudo apt install ./bcachefs-tools-build-deps_*.deb | |
- 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@v4 | |
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@v4 | |
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 | | |
jq -r '.packages[] | select(.name == "bcachefs-tools") | .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` |