Prototype of bindgen workaround usage #662
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: 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 |