Skip to content

Advance next development environment to Fedora 39 #985

Advance next development environment to Fedora 39

Advance next development environment to Fedora 39 #985

Workflow file for this run

---
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 }}