Skip to content

Issue stratisd 3663 #1335

Issue stratisd 3663

Issue stratisd 3663 #1335

Workflow file for this run

---
name: stratisd nightly
# yamllint disable-line rule:truthy
on:
push:
branches:
- master
pull_request:
branches:
- master
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.80.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
components: cargo
runs-on: ubuntu-22.04
container:
image: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- uses: actions/checkout@v4
- name: Install dependencies for Fedora
run: >
dnf install -y
clang
curl
cryptsetup-devel
dbus-devel
device-mapper-devel
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 }}
- name: Test ${{ matrix.task }} on ${{ matrix.toolchain }} toolchain
run: ${{ matrix.task }}
check_future_dependencies:
runs-on: ubuntu-22.04
container:
image: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- uses: actions/checkout@v4
- name: Install dependencies for Fedora
run: >
dnf install -y
clang
curl
cryptsetup-devel
dbus-devel
libblkid-devel
make
ncurses
openssl-devel
systemd-devel
- uses: dtolnay/rust-toolchain@master
with:
components: cargo, clippy
toolchain: 1.80.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
- uses: baptiste0928/cargo-install@v2
with:
crate: cargo-audit
- name: Run cargo-update
run: cargo update
- name: Run cargo-clippy
run: make -f Makefile clippy
- name: Run cargo-audit
run: make -f Makefile audit
allowed_failures:
continue-on-error: true
strategy:
matrix:
include:
# Allowed because a failure may occur after a new Rust stable
# version is released.
- task: make -f Makefile clippy
toolchain: stable
components: clippy
runs-on: ubuntu-22.04
container:
image: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- uses: actions/checkout@v4
- name: Install dependencies for Fedora
run: >
dnf install -y
clang
curl
cryptsetup-devel
dbus-devel
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: baptiste0928/cargo-install@v2
with:
crate: cargo-audit
- name: Test ${{ matrix.task }} on ${{ matrix.toolchain }} toolchain
run: ${{ matrix.task }}
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-22.04
container:
image: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- uses: actions/checkout@v4
- name: Install dependencies for Fedora
run: >
dnf install -y
clang
curl
cryptsetup-devel
dbus-devel
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.80.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
- uses: baptiste0928/cargo-install@v2
with:
crate: cargo-audit
- uses: baptiste0928/cargo-install@v2
with:
crate: cargo-auditable
- name: Run matrix task
run: ${{ matrix.task }}
checks-with-ci-repo:
runs-on: ubuntu-22.04
container:
image: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- uses: actions/checkout@v4
- 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.80.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
- name: Check out ci repo
run: git clone https://github.com/stratis-storage/ci.git
- name: Run comparisons of version specs with available Fedora packages
# yamllint disable rule:line-length
run: |
COMPARE_FEDORA_VERSIONS=./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_dependencies check-fedora-versions
COMPARE_FEDORA_VERSIONS=./ci/dependency_management/compare_fedora_versions FEDORA_RELEASE=f40 IGNORE_ARGS="--ignore-high=libcryptsetup-rs --ignore-high=libcryptsetup-rs-sys --ignore-high=devicemapper --ignore-high=libblkid-rs" make -f Makefile_dependencies check-fedora-versions
COMPARE_FEDORA_VERSIONS=./ci/dependency_management/compare_fedora_versions FEDORA_RELEASE=f39 IGNORE_ARGS="--ignore-high=libcryptsetup-rs --ignore-high=libcryptsetup-rs-sys --ignore-high=devicemapper --ignore-high=libblkid-rs" make -f Makefile_dependencies check-fedora-versions
python-based-tests:
strategy:
matrix:
include:
- toolchain: 1.80.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- 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
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
- uses: dtolnay/rust-toolchain@master
with:
components: cargo
toolchain: ${{ matrix.toolchain }}
- 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: Build test extras
run: PROFILEDIR=debug make -f Makefile build-test-extras
- name: Tests using Rust ${{ matrix.toolchain }}
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