Skip to content

Revert "Update lowest supported Rust to 1.71.1" #477

Revert "Update lowest supported Rust to 1.71.1"

Revert "Update lowest supported Rust to 1.71.1" #477

Workflow file for this run

---
name: libcryptsetup CI
# yamllint disable-line rule:truthy
on:
push:
branches: [master]
paths-ignore:
- 'CHANGES.txt'
- '**/README.md'
pull_request:
branches: [master]
paths-ignore:
- 'CHANGES.txt'
- '**/README.md'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
# MANDATORY CHECKS USING CURRENT DEVELOPMENT TOOLCHAIN:
format:
env:
TASK: fmt-ci
TOOLCHAIN: 1.71.1 # CURRENT DEVELOPMENT RUST TOOLCHAIN
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
components: rustfmt
toolchain: ${{ env.TOOLCHAIN }}
- name: Test format on ${{ env.TOOLCHAIN }} toolchain
run: make -f Makefile $TASK
lint:
env:
TASK: clippy
TOOLCHAIN: 1.71.1 # CURRENT DEVELOPMENT RUST TOOLCHAIN
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
components: clippy
toolchain: ${{ env.TOOLCHAIN }}
- name: Install dependencies
run: >
sudo apt-get install libcryptsetup-dev
- name: Test linting on ${{ env.TOOLCHAIN }} toolchain
run: make -f Makefile $TASK
# MANDATORY TESTING ON STABLE
stable:
env:
TOOLCHAIN: stable
strategy:
matrix:
include:
- task: make -f Makefile build
dependencies: libcryptsetup-dev
- task: make -f Makefile docs-ci
dependencies: libcryptsetup-dev
- task: make -f Makefile test
dependencies: libcryptsetup-dev libkeyutils-dev
- task: make -f Makefile test-mutex
dependencies: libcryptsetup-dev libkeyutils-dev
- task: make -f Makefile test-mutex-guard
dependencies: libcryptsetup-dev libkeyutils-dev
- task: make -f Makefile release
dependencies: libcryptsetup-dev
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.TOOLCHAIN }}
- name: Install dependencies
run: >
sudo apt-get install ${{ matrix.dependencies }}
- name: Test ${{ matrix.task }} on ${{ env.TOOLCHAIN }} toolchain
run: ${{ matrix.task }}
# MANDATORY TESTING USING LOWEST SUPPORTED TOOLCHAIN
lowest_supported:
env:
TOOLCHAIN: 1.71.0 # LOWEST SUPPORTED RUST TOOLCHAIN
strategy:
matrix:
include:
- task: make -f Makefile test
dependencies: libcryptsetup-dev libkeyutils-dev
- task: make -f Makefile test-mutex
dependencies: libcryptsetup-dev libkeyutils-dev
- task: make -f Makefile test-mutex-guard
dependencies: libcryptsetup-dev libkeyutils-dev
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.TOOLCHAIN }}
- name: Install dependencies
run: >
sudo apt-get install ${{ matrix.dependencies }}
- name: Test ${{ matrix.task }} on ${{ env.TOOLCHAIN }} toolchain
run: ${{ matrix.task }}
# MANDATORY TESTING ON FEDORA
fedora:
env:
# Lowest supported
TOOLCHAIN: 1.71.0 # LOWEST SUPPORTED RUST TOOLCHAIN
strategy:
matrix:
include:
# Fedora 33
- task: make -f Makefile build
dependencies: cryptsetup-devel
container: 33
- task: make -f Makefile docs-ci
dependencies: cryptsetup-devel
container: 33
- task: make -f Makefile test
dependencies: cryptsetup-devel keyutils-libs-devel
container: 33
- task: make -f Makefile test-mutex
dependencies: cryptsetup-devel keyutils-libs-devel
container: 33
- task: make -f Makefile test-mutex-guard
dependencies: cryptsetup-devel keyutils-libs-devel
container: 33
- task: make -f Makefile test-loopback
dependencies: cryptsetup-devel keyutils-libs-devel
container: 33
- task: make -f Makefile release
dependencies: cryptsetup-devel
container: 33
# Fedora 34
- task: make -f Makefile build
dependencies: cryptsetup-devel
container: 34
- task: make -f Makefile docs-ci
dependencies: cryptsetup-devel
container: 34
- task: make -f Makefile test
dependencies: cryptsetup-devel keyutils-libs-devel
container: 34
- task: make -f Makefile test-mutex
dependencies: cryptsetup-devel keyutils-libs-devel
container: 34
- task: make -f Makefile test-mutex-guard
dependencies: cryptsetup-devel keyutils-libs-devel
container: 34
- task: make -f Makefile test-loopback
dependencies: cryptsetup-devel keyutils-libs-devel
container: 34
- task: make -f Makefile release
dependencies: cryptsetup-devel
container: 34
# Fedora 38
- task: make -f Makefile build
dependencies: cryptsetup-devel
container: 38
- task: make -f Makefile docs-ci
dependencies: cryptsetup-devel
container: 38
- task: make -f Makefile test
dependencies: cryptsetup-devel keyutils-libs-devel
container: 38
- task: make -f Makefile test-mutex
dependencies: cryptsetup-devel keyutils-libs-devel
container: 38
- task: make -f Makefile test-mutex-guard
dependencies: cryptsetup-devel keyutils-libs-devel
container: 38
- task: make -f Makefile test-loopback
dependencies: cryptsetup-devel keyutils-libs-devel
container: 38
- task: make -f Makefile release
dependencies: cryptsetup-devel
container: 38
runs-on: ubuntu-20.04
container:
image: fedora:${{ matrix.container }}
options: --privileged -v /dev:/dev
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.TOOLCHAIN }}
- name: Install dependencies
run: dnf install -y make gcc clang-devel ${{ matrix.dependencies }}
- name: Test ${{ matrix.task }} on ${{ env.TOOLCHAIN }} toolchain
run: ${{ matrix.task }}
checks-with-ci-repo:
strategy:
matrix:
include:
- task: >
SET_LOWER_BOUNDS=./set_lower_bounds
MANIFEST_PATH=../../Cargo.toml
make -f ../../Makefile verify-dependency-bounds
- task: >
SET_LOWER_BOUNDS=./set_lower_bounds
MANIFEST_PATH=../../libcryptsetup-rs-sys/Cargo.toml
make -f ../../Makefile verify-dependency-bounds-sys
runs-on: ubuntu-20.04
container:
image: fedora:38 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- uses: actions/checkout@v3
- name: Install dependencies for Fedora
run: >
dnf install -y
clang
cryptsetup-devel
curl
git
make
openssl-devel
python-requests
python-semantic_version
- uses: dtolnay/rust-toolchain@master
with:
components: cargo
toolchain: 1.71.1 # CURRENT DEVELOPMENT RUST TOOLCHAIN
- name: Check out ci repo
run: git clone https://github.com/stratis-storage/ci.git
- name: Run ${{ matrix.task }}
run: ${{ matrix.task }}
working-directory: ./ci/dependency_management
# VERIFICATION OF TEST INFRASTRUCTURE
yamllint:
runs-on: ubuntu-20.04
container: fedora:38 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: dnf install -y make yamllint
- name: Run yamllint
run: make -f Makefile yamllint