stratisd nightly #1909
This file contains hidden or 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
| --- | |
| 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 |