Skip to content

Prototype of bindgen workaround usage #662

Prototype of bindgen workaround usage

Prototype of bindgen workaround usage #662

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.82.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
runs-on: ubuntu-20.04
steps:
- name: Install git
run: sudo apt-get install git
- uses: actions/checkout@v4
with:
submodules: true
- 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.82.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
runs-on: ubuntu-20.04
steps:
- name: Install git
run: sudo apt-get install git
- uses: actions/checkout@v4
with:
submodules: true
- 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
typos:
env:
TASK: check-typos
TOOLCHAIN: 1.82.0 # CURRENT DEVELOPMENT RUST TOOLCHAIN
runs-on: ubuntu-20.04
steps:
- name: Install git
run: sudo apt-get install git
- uses: actions/checkout@v4
with:
submodules: true
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.TOOLCHAIN }}
- uses: baptiste0928/cargo-install@v3
with:
crate: typos-cli
- name: Test typos 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 build-examples
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:
- name: Install git
run: sudo apt-get install git
- uses: actions/checkout@v4
with:
submodules: true
- 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.1 # 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:
- name: Install git
run: sudo apt-get install git
- uses: actions/checkout@v4
with:
submodules: true
- 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.1 # LOWEST SUPPORTED RUST TOOLCHAIN
strategy:
matrix:
include:
# Fedora 33
- task: make -f Makefile build
dependencies: cryptsetup-devel
container: 33
- task: make -f Makefile build-examples
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 build-examples
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 build-examples
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:
- name: Install git
run: dnf install -y git
- uses: actions/checkout@v4
with:
submodules: true
- 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 }}
# VERIFICATION OF TEST INFRASTRUCTURE
yamllint:
runs-on: ubuntu-20.04
container: fedora:40 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
- name: Install git
run: dnf install -y git
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: dnf install -y make yamllint
- name: Run yamllint
run: make -f Makefile yamllint