ci: split check & build

This commit is contained in:
javalsai 2025-07-04 19:19:44 +02:00
parent 3d6efa448b
commit c05218d30a
Signed by: javalsai
SSH Key Fingerprint: SHA256:3G83yKhBUWVABVX/vPWH88xnK4+ptMtHkZGCRXD4Mk8
4 changed files with 66 additions and 60 deletions

View File

@ -1,53 +1,13 @@
name: Check and Build name: Build
on: on:
workflow_call: workflow_call:
jobs: jobs:
spellcheck:
name: Check Grammar
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: "codespell"
version: 1.0
- run: codespell
shellcheck:
name: Shell Check
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: "shellcheck"
version: 1.0
- run: find . -type f -name '*.sh' -not -path './assets/pkg/aur/*/src/*' | xargs shellcheck
clangcheck:
name: Clang Check
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: "clang-format clang-tidy bear libpam0g-dev"
version: 1.0
- run: bear -- make
- run: clang-format -ni src/*.c include/*.h
- run: clang-tidy -p . src/*.c include/*.h
build-linux-amd64: build-linux-amd64:
name: Build for amd64 name: amd64
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
permissions: write-all permissions: write-all
needs: [spellcheck, shellcheck, clangcheck]
steps: steps:
- uses: awalsh128/cache-apt-pkgs-action@latest - uses: awalsh128/cache-apt-pkgs-action@latest
with: with:
@ -64,10 +24,9 @@ jobs:
retention-days: 1 retention-days: 1
build-linux-i386: build-linux-i386:
name: Build for i386 name: i386
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
permissions: write-all permissions: write-all
needs: [spellcheck, shellcheck, clangcheck]
steps: steps:
- uses: awalsh128/cache-apt-pkgs-action@latest - uses: awalsh128/cache-apt-pkgs-action@latest
@ -90,10 +49,9 @@ jobs:
retention-days: 1 retention-days: 1
build-linux-aarch64: build-linux-aarch64:
name: Build for aarch64 name: aarch64
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
permissions: write-all permissions: write-all
needs: [spellcheck, shellcheck, clangcheck]
steps: steps:
- uses: awalsh128/cache-apt-pkgs-action@latest - uses: awalsh128/cache-apt-pkgs-action@latest
with: with:
@ -118,10 +76,9 @@ jobs:
retention-days: 1 retention-days: 1
build-linux-armv7: build-linux-armv7:
name: Build for armv7 name: armv7
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
permissions: write-all permissions: write-all
needs: [spellcheck, shellcheck, clangcheck]
steps: steps:
- uses: awalsh128/cache-apt-pkgs-action@latest - uses: awalsh128/cache-apt-pkgs-action@latest
with: with:
@ -146,10 +103,9 @@ jobs:
retention-days: 1 retention-days: 1
build-linux-riscv64: build-linux-riscv64:
name: Build for riscv64 name: riscv64
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
permissions: write-all permissions: write-all
needs: [spellcheck, shellcheck, clangcheck]
steps: steps:
- uses: awalsh128/cache-apt-pkgs-action@latest - uses: awalsh128/cache-apt-pkgs-action@latest
with: with:

43
.github/workflows/check.yml vendored Normal file
View File

@ -0,0 +1,43 @@
name: Check
on:
workflow_call:
jobs:
spellcheck:
name: Grammar
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: "codespell"
version: 1.0
- run: codespell
shellcheck:
name: Shellcheck
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: "shellcheck"
version: 1.0
- run: find . -type f -name '*.sh' -not -path './assets/pkg/aur/*/src/*' | xargs shellcheck
clangcheck:
name: Clang
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: "clang-format clang-tidy bear libpam0g-dev"
version: 1.0
- run: bear -- make
- run: clang-format -ni src/*.c include/*.h
- run: clang-tidy -p . src/*.c include/*.h

View File

@ -30,17 +30,23 @@ jobs:
echo "VERSION=$MAKE_TAG" >> "$GITHUB_OUTPUT" echo "VERSION=$MAKE_TAG" >> "$GITHUB_OUTPUT"
build: check:
name: Check and Build name: Check
needs: release-checks needs: release-checks
uses: ./.github/workflows/check-and-build.yml uses: ./.github/workflows/check.yml
permissions: write-all
build:
name: Build
needs: release-checks
uses: ./.github/workflows/build.yml
permissions: write-all permissions: write-all
release: release:
name: Make Release v${{ needs.release-checks.outputs.VERSION }} name: Make Release v${{ needs.release-checks.outputs.VERSION }}
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
permissions: write-all permissions: write-all
needs: [ release-checks, build ] needs: [ release-checks, check, build ]
steps: steps:
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
with: with:

View File

@ -1,6 +1,3 @@
# Kinda based by https://github.com/myrotvorets/set-commit-status-action/actions/runs/12344741285/workflow
name: Push Checks
on: on:
push: push:
branches: branches:
@ -9,7 +6,11 @@ on:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
check-and-build: check:
name: Check and Build name: Check
uses: ./.github/workflows/check-and-build.yml uses: ./.github/workflows/check.yml
permissions: write-all
build:
name: Build
uses: ./.github/workflows/build.yml
permissions: write-all permissions: write-all