🏡 index : quine-global-labs/mirror-ublue-os-akmods.git

---
#
# WARNING THIS IS A GENERATED WORKFLOW. DO NOT EDIT BY HAND!
#
# Generate the workflow by running `just generate-workflows` at git root
# Modify the inputs in workflow-templates
name: Build MAIN akmods
on:
  merge_group:
  pull_request:
    branches:
      - main
    paths-ignore:
      - '**.md'
  schedule:
    - cron: '01 0 * * *'  # staggered minute past 00:00 UTC, see Justfile generate-workflows
  workflow_dispatch:
    inputs:
      force:
        description: "Force build all targets (ignore fingerprint guard)"
        type: boolean
        default: false
jobs:
  cache_kernel_main_45:
    name: Cache main (45)
    uses: ./.github/workflows/reusable-cache-kernel.yml
    secrets: inherit
    permissions:
      actions: read
      contents: read
      packages: write
    with:
      architecture: '["x86_64"]'
      kernel_flavor: main
      version: 45
  build-main_45_common:
    name: Build common main (45)
    uses: ./.github/workflows/reusable-build.yml
    secrets: inherit
    permissions:
      actions: read
      attestations: write
      contents: read
      id-token: write
      packages: write
    needs: cache_kernel_main_45
    with:
      akmods_target: common
      architecture: '["x86_64"]'
      force: ${{ inputs.force || false }}
      kernel_cache_key: ${{ needs.cache_kernel_main_45.outputs.KCKEY }}
      kernel_flavor: main
      version: 45
  build-main_45_nvidia-lts:
    name: Build nvidia-lts main (45)
    uses: ./.github/workflows/reusable-build.yml
    secrets: inherit
    permissions:
      actions: read
      attestations: write
      contents: read
      id-token: write
      packages: write
    needs: cache_kernel_main_45
    with:
      akmods_target: nvidia-lts
      architecture: '["x86_64"]'
      force: ${{ inputs.force || false }}
      kernel_cache_key: ${{ needs.cache_kernel_main_45.outputs.KCKEY }}
      kernel_flavor: main
      version: 45
  build-main_45_nvidia-open:
    name: Build nvidia-open main (45)
    uses: ./.github/workflows/reusable-build.yml
    secrets: inherit
    permissions:
      actions: read
      attestations: write
      contents: read
      id-token: write
      packages: write
    needs: cache_kernel_main_45
    with:
      akmods_target: nvidia-open
      architecture: '["x86_64"]'
      force: ${{ inputs.force || false }}
      kernel_cache_key: ${{ needs.cache_kernel_main_45.outputs.KCKEY }}
      kernel_flavor: main
      version: 45
  check-main_45:
    name: Check main (45)
    permissions:
      actions: read
      contents: read
    needs: [build-main_45_common,build-main_45_nvidia-lts,build-main_45_nvidia-open]
    runs-on: ubuntu-26.04
    if: always()
    steps:
      - name: Check for Build Failures
        if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped')
        run: exit 1

      - name: Exit if Success
        run: exit 0
  cache_kernel_main_44:
    name: Cache main (44)
    uses: ./.github/workflows/reusable-cache-kernel.yml
    secrets: inherit
    permissions:
      actions: read
      contents: read
      packages: write
    with:
      architecture: '["x86_64"]'
      kernel_flavor: main
      version: 44
  build-main_44_common:
    name: Build common main (44)
    uses: ./.github/workflows/reusable-build.yml
    secrets: inherit
    permissions:
      actions: read
      attestations: write
      contents: read
      id-token: write
      packages: write
    needs: cache_kernel_main_44
    with:
      akmods_target: common
      architecture: '["x86_64"]'
      force: ${{ inputs.force || false }}
      kernel_cache_key: ${{ needs.cache_kernel_main_44.outputs.KCKEY }}
      kernel_flavor: main
      version: 44
  build-main_44_nvidia-lts:
    name: Build nvidia-lts main (44)
    uses: ./.github/workflows/reusable-build.yml
    secrets: inherit
    permissions:
      actions: read
      attestations: write
      contents: read
      id-token: write
      packages: write
    needs: cache_kernel_main_44
    with:
      akmods_target: nvidia-lts
      architecture: '["x86_64"]'
      force: ${{ inputs.force || false }}
      kernel_cache_key: ${{ needs.cache_kernel_main_44.outputs.KCKEY }}
      kernel_flavor: main
      version: 44
  build-main_44_nvidia-open:
    name: Build nvidia-open main (44)
    uses: ./.github/workflows/reusable-build.yml
    secrets: inherit
    permissions:
      actions: read
      attestations: write
      contents: read
      id-token: write
      packages: write
    needs: cache_kernel_main_44
    with:
      akmods_target: nvidia-open
      architecture: '["x86_64"]'
      force: ${{ inputs.force || false }}
      kernel_cache_key: ${{ needs.cache_kernel_main_44.outputs.KCKEY }}
      kernel_flavor: main
      version: 44
  check-main_44:
    name: Check main (44)
    permissions:
      actions: read
      contents: read
    needs: [build-main_44_common,build-main_44_nvidia-lts,build-main_44_nvidia-open]
    runs-on: ubuntu-26.04
    if: always()
    steps:
      - name: Check for Build Failures
        if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped')
        run: exit 1

      - name: Exit if Success
        run: exit 0