Skip to content

use child workflows #357

use child workflows

use child workflows #357

Workflow file for this run

name: Build Deps
on:
workflow_dispatch:
push:
branches:
- main
- 'feature/*'
pull_request:
branches:
- main
schedule:
- cron: "0 11 * * 1,4"
jobs:
prepare:
name: Prepare Build
runs-on: ubuntu-24.04
outputs:
dockerDistros: ${{ steps.set_matrix.outputs.dockerDistros }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache cake frosting
id: cache-cake
uses: actions/cache@v4
with:
path: run
key: run-${{ runner.os }}-${{ hashFiles('./build/**') }}
- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
global-json-file: build/global.json
- name: '[Prepare]'
if: steps.cache-cake.outputs.cache-hit != 'true'
run: dotnet build build/CI.sln --configuration=Release
- name: '[Matrix]'
id: set_matrix
run: dotnet run/build.dll --target=SetMatrix
build_deps:
name: Build Deps (${{ matrix.arch }})
needs: [ prepare ]
strategy:
fail-fast: false
matrix:
include:
- arch: amd64
runner: ubuntu-24.04
- arch: arm64
runner: ubuntu-24.04-arm
uses: ./.github/workflows/_build-deps.yml
with:
runner: ${{ matrix.runner }}
arch: ${{ matrix.arch }}
docker_distros: ${{ needs.prepare.outputs.dockerDistros }}
secrets: inherit
build_deps_manifests:
name: Build Deps Manifests
needs: [ prepare, build_deps ]
uses: ./.github/workflows/_build-deps-manifest.yml
with:
docker_distros: ${{ needs.prepare.outputs.dockerDistros }}
secrets: inherit