Skip to content

Merge pull request #1099 from mulkieran/version-3.7.0 #1503

Merge pull request #1099 from mulkieran/version-3.7.0

Merge pull request #1099 from mulkieran/version-3.7.0 #1503

Workflow file for this run

---
name: stratis-cli CI
# yamllint disable-line rule:truthy
on:
push:
branches:
- rebase-3.6.0
paths-ignore:
- 'CHANGES.txt'
- '**/README.rst'
- 'LICENSE'
- 'docs/**'
- '.packit.yaml'
pull_request:
branches:
- rebase-3.6.0
paths-ignore:
- 'CHANGES.txt'
- '**/README.rst'
- 'LICENSE'
- 'docs/**'
- '.packit.yaml'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
python-checks:
strategy:
matrix:
include:
# MANDATORY CHECKS USING CURRENT DEVELOPMENT INTERPRETER
- dependencies: >
bandit
pylint
python3-dateutil
python3-dbus-client-gen
python3-dbus-python-client-gen
python3-justbytes
python3-packaging
python3-psutil
python3-wcwidth
task: >
PATH=${PATH}:/github/home/.local/bin PYTHONPATH=./src
make -f Makefile lint
- dependencies: black python3-isort
task: make -f Makefile fmt-ci
- dependencies: shfmt
task: make -f Makefile fmt-shell-ci
runs-on: ubuntu-latest
container: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: >
dnf install -y
make
pip
python-unversioned-command
${{ matrix.dependencies }}
- name: Display Python version
run: python --version
- name: Install pyright
run: pip install --user pyright
- name: Run test
run: ${{ matrix.task }}
check-typos:
runs-on: ubuntu-latest
container: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- name: Install dependencies
run: >
dnf install -y
clang
glibc-static
make
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
components: cargo
toolchain: 1.81.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
- uses: baptiste0928/cargo-install@v3
with:
crate: typos-cli
- name: Run test
run: make -f Makefile check-typos
test-runs:
strategy:
matrix:
include:
- task: make -f Makefile all-tests
rust_log: RUST_LOG=stratisd=debug
image: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
- task: make -f Makefile all-tests
rust_log: RUST_LOG=stratisd=debug
image: fedora:35 # LOWEST DEVELOPMENT ENVIRONMENT
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
# yamllint disable rule:line-length
options: --privileged --userns=host --ipc=host -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket:ro -v /usr/share/dbus-1:/usr/share/dbus-1
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: >
dnf install -y
asciidoc
clang
cryptsetup-devel
device-mapper-devel
dbus-devel
git
glibc-static
libblkid-devel
make
python3-dbus-client-gen
python3-dbus-python-client-gen
python3-justbytes
python3-dateutil
python3-packaging
python3-psutil
python3-wcwidth
systemd-devel
- uses: dtolnay/rust-toolchain@master
with:
components: cargo
toolchain: 1.71.1 # LOWEST SUPPORTED RUST TOOLCHAIN
- name: Check out stratisd
run: git clone https://github.com/stratis-storage/stratisd.git
- name: Build stratisd
run: PROFILEDIR=debug make build-all
working-directory: ./stratisd
- name: Install stratisd
run: PROFILEDIR=debug make install
working-directory: ./stratisd
- name: Workaround for D-Bus inotify
run: cp stratisd.conf /usr/share/dbus-1/system.d
working-directory: ./stratisd
- name: Run test
run: >
${{ matrix.rust_log }}
STRATISD=/usr/libexec/stratisd
PYTHONPATH=./src
${{ matrix.task }}
coverage-runs:
needs: test-runs
strategy:
matrix:
include:
- task: make -f Makefile coverage-no-html
rust_log:
image: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
# yamllint disable rule:line-length
options: --privileged --userns=host --ipc=host -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket:ro -v /usr/share/dbus-1:/usr/share/dbus-1
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: >
dnf install -y
asciidoc
clang
cryptsetup-devel
device-mapper-devel
dbus-devel
git
glibc-static
libblkid-devel
make
python3-coverage
python3-dbus-client-gen
python3-dbus-python-client-gen
python3-justbytes
python3-dateutil
python3-packaging
python3-psutil
python3-wcwidth
systemd-devel
- uses: dtolnay/rust-toolchain@master
with:
components: cargo
toolchain: 1.71.1 # LOWEST SUPPORTED RUST TOOLCHAIN
- name: Check out stratisd
run: git clone https://github.com/stratis-storage/stratisd.git
- name: Build stratisd
run: PROFILEDIR=debug make build-all
working-directory: ./stratisd
- name: Install stratisd
run: PROFILEDIR=debug make install
working-directory: ./stratisd
- name: Workaround for D-Bus inotify
run: cp stratisd.conf /usr/share/dbus-1/system.d
working-directory: ./stratisd
- name: Run test
run: >
${{ matrix.rust_log }}
STRATISD=/usr/libexec/stratisd
PYTHONPATH=./src
${{ matrix.task }}
lowest-environment-checks:
strategy:
matrix:
include:
- dependencies: >
python-setuptools
python3-dbus-client-gen
python3-dbus-python-client-gen
python3-justbytes
python3-dateutil
python3-packaging
python3-psutil
python3-wcwidth
task: make -f Makefile legacy-package
runs-on: ubuntu-latest
container: fedora:35 # LOWEST DEVELOPMENT ENVIRONMENT
steps:
- name: Display Python version
run: python3 --version
- uses: actions/checkout@v4
- name: Install dependencies
run: >
dnf install -y
make
${{ matrix.dependencies }}
- name: ${{ matrix.task }}
run: ${{ matrix.task }}