Advance next development environment to Fedora 39 #985
Workflow file for this run
This file contains 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: stratis-cli CI | |
# yamllint disable-line rule:truthy | |
on: | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- 'CHANGES.txt' | |
- '**/README.rst' | |
- 'LICENSE' | |
- 'docs/**' | |
- 'shell-completion/**' | |
pull_request: | |
branches: | |
- master | |
paths-ignore: | |
- 'CHANGES.txt' | |
- '**/README.rst' | |
- 'LICENSE' | |
- 'docs/**' | |
- 'shell-completion/**' | |
# 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: 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 | |
# VERIFICATION OF TEST INFRASTRUCTURE | |
- dependencies: yamllint | |
task: make -f Makefile yamllint | |
runs-on: ubuntu-latest | |
container: fedora:38 # CURRENT DEVELOPMENT ENVIRONMENT | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: > | |
dnf install -y | |
make | |
python-unversioned-command | |
${{ matrix.dependencies }} | |
- name: Display Python version | |
run: python --version | |
- name: Run test | |
run: ${{ matrix.task }} | |
test-runs: | |
strategy: | |
matrix: | |
include: | |
# MANDATORY CHECKS USING CURRENT DEVELOPMENT ENVIRONMENT | |
- task: make -f Makefile all-tests | |
rust_log: RUST_LOG=stratisd=debug | |
image: fedora:38 # CURRENT DEVELOPMENT ENVIRONMENT | |
- task: make -f Makefile coverage-no-html | |
rust_log: | |
image: fedora:38 # CURRENT DEVELOPMENT ENVIRONMENT | |
# MANDATORY CHECKS USING LOWEST SUPPORTED ENVIRONMENT PROXY | |
- task: make -f Makefile all-tests | |
rust_log: RUST_LOG=stratisd=debug | |
image: fedora:34 # 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@v3 | |
- 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.69.0 # 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:34 # LOWEST DEVELOPMENT ENVIRONMENT | |
steps: | |
- name: Display Python version | |
run: python3 --version | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: > | |
dnf install -y | |
make | |
${{ matrix.dependencies }} | |
- name: ${{ matrix.task }} | |
run: ${{ matrix.task }} |