Skip to content

Merge pull request #12 from Thaumy/skip-fmt-match #127

Merge pull request #12 from Thaumy/skip-fmt-match

Merge pull request #12 from Thaumy/skip-fmt-match #127

Workflow file for this run

name: Build / Development
on:
push:
branches:
- '*'
pull_request_target:
types:
- edited
- opened
- reopened
- synchronize
jobs:
build-dev:
name: ${{ matrix.target.alias }}-${{ matrix.linux-source.alias }}
runs-on: ${{ matrix.target.os }}
strategy:
fail-fast: false
matrix:
target:
- { os: ubuntu-22.04, triple: x86_64-unknown-linux-gnu , alias: amd64-gnu-ubuntu-22.04 }
- { os: ubuntu-22.04, triple: x86_64-unknown-linux-musl, alias: amd64-musl-ubuntu-22.04 }
linux-source:
- { pkg: linux-source-5.15.0, alias: 5.15, feature: linux-5.13 }
- { pkg: linux-source-5.19.0, alias: 5.19, feature: linux-5.16 }
- { pkg: linux-source-6.2.0 , alias: 6.2 , feature: linux-6.0 }
- { pkg: linux-source-6.5.0 , alias: 6.5 , feature: linux-6.3 }
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
override: true
toolchain: 1.75.0
components: rustfmt, clippy
- name: Show environment information
shell: bash
run: |
cargo -V
cargo clippy -V
cargo fmt -- -V
rustc -V
uname -a
- name: Setup Rust cache
uses: Swatinem/rust-cache@v2
with:
prefix-key: ${{ matrix.target.alias }}
- name: Cache APT packages
uses: awalsh128/[email protected]
with:
packages: musl-tools ${{ matrix.linux-source.pkg }}
version: 1.0
- name: Setup musl-tools
if: matrix.target.triple == 'x86_64-unknown-linux-musl'
shell: bash
run: sudo apt -y install musl-tools
- name: Add target
uses: ./.github/actions/add-target
with:
target: ${{ matrix.target.triple }}
- name: Generate version
id: gen-version
shell: bash
run: echo 'VERSION=0.0.0-${{ github.sha }}' >> $GITHUB_OUTPUT
- name: Replace version
uses: ./.github/actions/replace-version
with:
version: ${{ steps.gen-version.outputs.VERSION }}
- name: Install linux headers
uses: ./.github/actions/install-linux-headers
with:
src-pkg: ${{ matrix.linux-source.pkg }}
install-path: ${{ github.workspace }}/linux-headers
- name: Run build
uses: ./.github/actions/build
with:
target: ${{ matrix.target.triple }}
feature: ${{ matrix.linux-source.feature }}
release: false
env:
LINUX_HEADERS_PATH: ${{ github.workspace }}/linux-headers
- name: Run check
uses: ./.github/actions/check
with:
target: ${{ matrix.target.triple }}
feature: ${{ matrix.linux-source.feature }}
env:
LINUX_HEADERS_PATH: ${{ github.workspace }}/linux-headers
# TODO: Some tests will fail in GitHub Actions environment