Files
tuwunel/.github/workflows/bake.yml
Jason Volk c5de46e3e1 Docker Bake Harness
Co-authored-by: Nineko <cnotsomark@gmail.com>
Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-01 07:03:51 +00:00

91 lines
2.5 KiB
YAML

name: Bakery
on:
workflow_call:
inputs:
bake_targets:
type: string
required: false
default: '["default"]'
description: Bake targets
cargo_profiles:
type: string
required: false
default: '["test", "bench"]'
description: Cargo profiles
docker_id:
type: string
required: false
description: Dockerhub acct/repo identity.
feat_sets:
type: string
required: false
default: '["none", "default", "all"]'
description: Cargo feature groups
machines:
type: string
required: false
default: '["x86_64"]'
description: Hardware platform vector
rust_targets:
type: string
required: false
default: '["x86_64-unknown-linux-gnu"]'
description: Rust targets
rust_toolchains:
type: string
required: false
default: '["nightly", "stable"]'
description: Rust toolchains
sys_names:
type: string
required: false
default: '["debian"]'
description: System names
sys_targets:
type: string
required: false
default: '["x86_64-linux-gnu"]'
description: System targets
sys_versions:
type: string
required: false
default: '["testing-slim"]'
description: System versions
env:
docker_id: ${{inputs.docker_id}}
jobs:
task:
runs-on: ${{matrix.machine}}
strategy:
fail-fast: false
matrix:
bake_target: ${{fromJSON(inputs.bake_targets)}}
cargo_profile: ${{fromJSON(inputs.cargo_profiles)}}
feat_set: ${{fromJSON(inputs.feat_sets)}}
machine: ${{fromJSON(inputs.machines)}}
rust_target: ${{fromJSON(inputs.rust_targets)}}
rust_toolchain: ${{fromJSON(inputs.rust_toolchains)}}
sys_name: ${{fromJSON(inputs.sys_names)}}
sys_target: ${{fromJSON(inputs.sys_targets)}}
sys_version: ${{fromJSON(inputs.sys_versions)}}
steps:
- uses: actions/checkout@v3
- name: Task
env:
bake_target: ${{matrix.bake_target}}
cargo_profile: ${{matrix.cargo_profile}}
feat_set: ${{matrix.feat_set}}
machine: ${{matrix.machine}}
rust_target: ${{matrix.rust_target}}
rust_toolchain: ${{matrix.rust_toolchain}}
sys_name: ${{matrix.sys_name}}
sys_target: ${{matrix.sys_target}}
sys_version: ${{matrix.sys_version}}
run: |
docker/bake.sh ${{matrix.bake_target}}