86 lines
2.4 KiB
YAML
86 lines
2.4 KiB
YAML
name: CI
|
|
|
|
# Lightweight build checks on every push/PR to the build repo.
|
|
# Full release builds only happen on v* tags via release.yml.
|
|
on:
|
|
push:
|
|
branches: ['*']
|
|
pull_request:
|
|
|
|
env:
|
|
SCOUTFS_MIRROR: https://git.anomalous.dev/mirrors/scoutfs.git
|
|
|
|
jobs:
|
|
build-check-deb:
|
|
name: Build Check (Ubuntu 24.04)
|
|
runs-on: ubuntu-latest
|
|
container: ubuntu:noble
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
apt-get update
|
|
apt-get install -y linux-headers-generic build-essential git \
|
|
libuuid-dev libssl-dev libblkid-dev sparse
|
|
|
|
- name: Checkout build repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Checkout scoutfs source (latest main)
|
|
run: |
|
|
git clone --depth 1 $SCOUTFS_MIRROR scoutfs
|
|
|
|
- name: Build kernel module
|
|
run: make -C scoutfs/kmod module
|
|
|
|
- name: Build utils
|
|
env:
|
|
SCOUTFS_FORMAT_HASH: ${{ secrets.SCOUTFS_FORMAT_HASH }}
|
|
run: |
|
|
SCOUTFS_FORMAT_HASH=${SCOUTFS_FORMAT_HASH:-0000000000000000} \
|
|
make -C scoutfs/utils
|
|
|
|
build-check-el:
|
|
name: Build Check (Rocky 9)
|
|
runs-on: ubuntu-latest
|
|
container: rockylinux:9
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
dnf install -y kernel-devel gcc make elfutils-libelf-devel git \
|
|
libuuid-devel openssl-devel libblkid-devel
|
|
|
|
- name: Checkout build repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Checkout scoutfs source (latest main)
|
|
run: |
|
|
git clone --depth 1 $SCOUTFS_MIRROR scoutfs
|
|
|
|
- name: Build kernel module
|
|
run: make -C scoutfs/kmod module
|
|
|
|
- name: Build utils
|
|
env:
|
|
SCOUTFS_FORMAT_HASH: ${{ secrets.SCOUTFS_FORMAT_HASH }}
|
|
run: |
|
|
SCOUTFS_FORMAT_HASH=${SCOUTFS_FORMAT_HASH:-0000000000000000} \
|
|
make -C scoutfs/utils
|
|
|
|
lint-scripts:
|
|
name: Lint Shell Scripts
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout build repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install shellcheck
|
|
run: apt-get update && apt-get install -y shellcheck || true
|
|
|
|
- name: Check scripts
|
|
run: |
|
|
shellcheck scripts/scoutfs-kernel-hook || true
|
|
shellcheck scripts/50-scoutfs-kernel-install.sh || true
|
|
shellcheck scripts/check-kernel-compat.sh || true
|
|
shellcheck scripts/gen-deb-changelog.sh || true
|
|
shellcheck dkms/dkms-pre-build.sh || true
|