Skip to content

Test for /etc/fstab mount #3

Test for /etc/fstab mount

Test for /etc/fstab mount #3

Workflow file for this run

---
name: stratisd CI on ubuntu
# yamllint disable-line rule:truthy
on:
push:
branches:
- master
paths-ignore:
- 'CHANGES.txt'
- '**/README.md'
- 'README_tests.md'
- 'tests/**'
- '.packit.yaml'
- 'plans/**'
- 'tests-fmf/**'
pull_request:
branches:
- master
paths-ignore:
- 'CHANGES.txt'
- '**/README.md'
- 'README_tests.md'
- 'tests/**'
- '.packit.yaml'
- 'plans/**'
- 'tests-fmf/**'
workflow_dispatch:
# cancel the in-progress workflow when PR is refreshed.
# yamllint disable rule:line-length
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
jobs:
checks:
strategy:
matrix:
include:
- task: make -f Makefile clippy
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: clippy
- task: PROFILEDIR=debug make -f Makefile build
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: PROFILEDIR=debug make -f Makefile build-min
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: PROFILEDIR=debug make -f Makefile build-min-no-systemd
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: PROFILEDIR=debug make -f Makefile build-utils
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: PROFILEDIR=debug make -f Makefile build-no-ipc
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: PROFILEDIR=debug make -f Makefile stratisd-tools
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: make -f Makefile docs-ci
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: make -f Makefile test
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: make -f Makefile build
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: make -f Makefile build-min
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
- task: make -f Makefile build-no-ipc
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
runs-on: ubuntu-22.04
container:
image: ubuntu:jammy
options: --privileged -v /dev:/dev
steps:
- uses: actions/checkout@v4
- name: Install dependencies for Ubuntu
run: apt-get -q update
- name: Install dependencies for Ubuntu
run: >
DEBIAN_FRONTEND=noninteractive
apt-get install -y
clang
curl
libblkid-dev
libcryptsetup-dev
libdbus-1-dev
libdevmapper-dev
libsystemd-dev
libudev-dev
make
sudo
thin-provisioning-tools
- uses: dtolnay/rust-toolchain@master
with:
components: ${{ matrix.components }}
toolchain: ${{ matrix.toolchain }}
- name: Test ${{ matrix.task }} on ${{ matrix.toolchain }} toolchain
run: ${{ matrix.task }}
# TESTS WITH UDEV
checks_with_udev:
strategy:
matrix:
include:
- task: RUST_LOG=stratisd=debug make -f Makefile test-loop
toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
runs-on: ubuntu-22.04
container:
image: ubuntu:jammy
options: --privileged -v /dev:/dev -v /run/udev:/run/udev -v /usr/lib/udev:/usr/lib/udev --ipc=host
steps:
- uses: actions/checkout@v4
- name: Install dependencies for Ubuntu
run: apt-get -q update
- name: Install dependencies for Ubuntu
run: >
DEBIAN_FRONTEND=noninteractive
apt-get install -y
asciidoc
clang
curl
libblkid-dev
libcryptsetup-dev
libdbus-1-dev
libdevmapper-dev
libsystemd-dev
libudev-dev
make
sudo
systemd
thin-provisioning-tools
udev
xfsprogs
- uses: dtolnay/rust-toolchain@master
with:
components: ${{ matrix.components }}
toolchain: ${{ matrix.toolchain }}
- name: Build stratisd
run: PROFILEDIR=debug make -f Makefile build-all
- name: Install stratisd
run: PROFILEDIR=debug make -f Makefile install
- name: Reload udev
run: udevadm control --reload
- name: Test ${{ matrix.task }} on ${{ matrix.toolchain }} toolchain
run: ${{ matrix.task }}
# /etc/fstab tests
fstab-checks:
strategy:
matrix:
include:
- toolchain: 1.77.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies for Ubuntu
run: >
sudo DEBIAN_FRONTEND=noninteractive
apt-get install -y
asciidoc
clang
curl
libblkid-dev
libcryptsetup-dev
libdbus-1-dev
libdevmapper-dev
libsystemd-dev
libudev-dev
make
sudo
systemd
thin-provisioning-tools
udev
xfsprogs
- uses: dtolnay/rust-toolchain@master
with:
components: ${{ matrix.components }}
toolchain: ${{ matrix.toolchain }}
- name: Build stratisd
run: PROFILEDIR=debug make -f Makefile build-all
- name: Install stratisd
run: sudo PROFILEDIR=debug make -f Makefile install
- name: Reload udev
run: sudo udevadm control --reload
- name: Start stratisd
run: sudo systemctl start stratisd
- name: Create loopback device backing file
run: truncate -s 5g img.bin
- name: Create loopback device
run: >
sudo losetup -f img.bin
LOOPBACK=$(losetup -j $HOME/img.bin | awk '{ print $1 }' | sed -e "s/://")
sudo stratis pool create testpool $LOOPBACK
- name: Create Stratis pool
- name: Create Stratis filesystem
run: sudo stratis fs create testpool testfs
- name: Edit /etc/fstab
run: >
POOL_UUID=$(stratis pool list --name testpool | grep UUID | awk '{ print $2 }')
echo "/dev/stratis/testpool/testfs /mnt xfs defaults,x-systemd.requires=stratis-fstab-setup@$POOL_UUID.service,x-systemd.after=stratis-fstab-setup@$POOL_UUID.service 0 0" | sudo tee -a /etc/fstab
- name: Mount filesystem
run: sudo mount /dev/stratis/testpool/testfs