github actions: update recommended Rust to 1.82.0 #1515
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/**' | |
- '.packit.yaml' | |
pull_request: | |
branches: | |
- master | |
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.82.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 }} |