Skip to content

stratisd nightly

stratisd nightly #1909

Workflow file for this run

---
name: stratisd nightly
# yamllint disable-line rule:truthy
on:
schedule:
- cron: 15 3 * * *
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
jobs:
strategy:
matrix:
include:
- task: cargo package
toolchain: 1.93.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
runs-on: ubuntu-24.04
container:
image: fedora:41 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- name: Install dependencies for Fedora
run: >
dnf install -y
clang
curl
cryptsetup-devel
dbus-devel
device-mapper-devel
git
libblkid-devel
make
ncurses
openssl-devel
python-requests
python-semantic_version
systemd-devel
- uses: dtolnay/rust-toolchain@master
with:
components: ${{ matrix.components }}
toolchain: ${{ matrix.toolchain }}
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Test ${{ matrix.task }} on ${{ matrix.toolchain }} toolchain
run: ${{ matrix.task }}
check_future_dependencies:
runs-on: ubuntu-24.04
container:
image: fedora:41 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- name: Install dependencies for Fedora
run: >
dnf install -y
clang
cryptsetup-devel
curl
dbus-devel
device-mapper-devel
glibc-static
git
libblkid-devel
make
ncurses
openssl-devel
systemd-devel
- uses: dtolnay/rust-toolchain@master
with:
components: cargo
toolchain: 1.93.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
- uses: baptiste0928/cargo-install@v3
with:
crate: cargo-audit
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Run cargo-update
run: cargo update
- name: Build all targets
run: make -f Makefile build-all-rust
- name: Run cargo-audit
run: make -f Makefile audit
cargo-audit-checks:
continue-on-error: true
strategy:
matrix:
include:
- task: make -f Makefile audit
- task: AUDITABLE=1 PROFILEDIR=debug make -f Makefile audit-all-rust
runs-on: ubuntu-24.04
container:
image: fedora:41 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- name: Install dependencies for Fedora
run: >
dnf install -y
clang
curl
cryptsetup-devel
dbus-devel
git
glibc-static
libblkid-devel
make
ncurses
openssl-devel
python-requests
python-semantic_version
systemd-devel
- uses: dtolnay/rust-toolchain@master
with:
components: cargo
toolchain: 1.93.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
- uses: baptiste0928/cargo-install@v3
with:
crate: cargo-audit
- uses: baptiste0928/cargo-install@v3
with:
crate: cargo-auditable
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Run matrix task
run: ${{ matrix.task }}
checks-with-ci-repo:
runs-on: ubuntu-24.04
container:
image: fedora:41 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- name: Install dependencies for Fedora
run: >
dnf install -y
clang
curl
cryptsetup-devel
dbus-devel
device-mapper-devel
git
libblkid-devel
make
ncurses
openssl-devel
python-requests
python-semantic_version
systemd-devel
- uses: dtolnay/rust-toolchain@master
with:
components: cargo
toolchain: 1.93.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
- uses: actions/checkout@v6
with:
path: stratisd
persist-credentials: false
- name: Check out ci repo
uses: actions/checkout@v6
with:
path: ci
repository: stratis-storage/ci
persist-credentials: false
- name: Run comparisons of macro version specs with Fedora packages
# yamllint disable rule:line-length
run: |
COMPARE_FEDORA_VERSIONS=$GITHUB_WORKSPACE/ci/dependency_management/compare_fedora_versions FEDORA_RELEASE=rawhide IGNORE_ARGS="--ignore-high=libcryptsetup-rs --ignore-high=libcryptsetup-rs-sys --ignore-high=devicemapper --ignore-high=libblkid-rs" make -f ../Makefile check-fedora-versions
COMPARE_FEDORA_VERSIONS=$GITHUB_WORKSPACE/ci/dependency_management/compare_fedora_versions FEDORA_RELEASE=f43 IGNORE_ARGS="--ignore-high=libcryptsetup-rs --ignore-high=libcryptsetup-rs-sys --ignore-high=devicemapper --ignore-high=libblkid-rs" make -f ../Makefile check-fedora-versions
COMPARE_FEDORA_VERSIONS=$GITHUB_WORKSPACE/ci/dependency_management/compare_fedora_versions FEDORA_RELEASE=f42 IGNORE_ARGS="--ignore-high=libcryptsetup-rs --ignore-high=libcryptsetup-rs-sys --ignore-high=devicemapper --ignore-high=libblkid-rs" make -f ../Makefile check-fedora-versions
working-directory: stratisd/stratisd_proc_macros
- name: Run comparisons of version specs with available Fedora packages
# yamllint disable rule:line-length
run: |
COMPARE_FEDORA_VERSIONS=$GITHUB_WORKSPACE/ci/dependency_management/compare_fedora_versions FEDORA_RELEASE=rawhide IGNORE_ARGS="--ignore-high=libcryptsetup-rs --ignore-high=libcryptsetup-rs-sys --ignore-high=devicemapper --ignore-high=libblkid-rs" make -f Makefile check-fedora-versions
COMPARE_FEDORA_VERSIONS=$GITHUB_WORKSPACE/ci/dependency_management/compare_fedora_versions FEDORA_RELEASE=f43 IGNORE_ARGS="--ignore-high=libcryptsetup-rs --ignore-high=libcryptsetup-rs-sys --ignore-high=devicemapper --ignore-high=libblkid-rs" make -f Makefile check-fedora-versions
COMPARE_FEDORA_VERSIONS=$GITHUB_WORKSPACE/ci/dependency_management/compare_fedora_versions FEDORA_RELEASE=f42 IGNORE_ARGS="--ignore-high=libcryptsetup-rs --ignore-high=libcryptsetup-rs-sys --ignore-high=devicemapper --ignore-high=libblkid-rs" make -f Makefile check-fedora-versions
working-directory: stratisd
python-based-tests:
runs-on: ubuntu-24.04
steps:
- name: Run apt-get update
run: sudo apt-get -q update
- name: Install dependencies
run: >
DEBIAN_FRONTEND=noninteractive
sudo apt-get install -y
asciidoc
clang
curl
git
libblkid-dev
libcryptsetup-dev
libdbus-1-dev
libdevmapper-dev
libsystemd-dev
libudev-dev
make
thin-provisioning-tools
udev
xfsprogs
- name: Install Python dependencies
run: >
sudo python -m pip install
dbus-python
dbus-client-gen
dbus-python-client-gen
justbytes
psutil
pyudev
tenacity
- uses: dtolnay/rust-toolchain@master
with:
components: cargo
toolchain: 1.93.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Build stratisd
run: PROFILEDIR=debug make -f Makefile build-all
- name: Install stratisd
run: sudo make PROFILEDIR=debug -f Makefile install
- name: Workaround for dbus inotify
run: sudo cp stratisd.conf /usr/share/dbus-1/system.d
- name: Reload udev
run: sudo udevadm control --reload
- name: Run some tests in client-dbus
run: >
sudo make
RUST_LOG=stratisd=debug
STRATISD=/usr/libexec/stratisd
STRATIS_PREDICT_USAGE=/usr/bin/stratis-predict-usage
PYTHONPATH=./src
predict-tests
working-directory: ./tests/client-dbus