Files
tuwunel/.github/workflows/bake.yml
Jason Volk 481b67f1f9 Combine Base and Deps workflows.
Add workflow arguments for verbosity.

Add missing ldap to full features.

Superpose --all-features as backstop for unlisted features.

Fix hardened_malloc requiring gcc

Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-07 23:03:46 +00:00

91 lines
2.9 KiB
YAML

name: Bakery
on:
workflow_call:
inputs:
bake_targets:
type: string
default: '["default"]'
description: Bake targets
cargo_profiles:
type: string
default: ${{vars.CARGO_PROFILES || '["test", "bench", "release"]'}}
description: Cargo profiles
feat_sets:
type: string
default: ${{vars.FEAT_SETS || '["none", "default", "all"]'}}
description: Cargo feature groups
machines:
type: string
default: ${{vars.MACHINES || '["x86_64"]'}}
description: Hardware platform vector
rust_targets:
type: string
default: ${{vars.RUST_TARGETS || '["x86_64-unknown-linux-gnu"]'}}
description: Rust targets
rust_toolchains:
type: string
default: ${{vars.RUST_TOOLCHAINS || '["nightly", "stable"]'}}
description: Rust toolchains
sys_names:
type: string
default: ${{vars.SYS_NAMES || '["debian"]'}}
description: System names
sys_targets:
type: string
default: ${{vars.SYS_TARGETS || '["x86_64-linux-gnu"]'}}
description: System targets
sys_versions:
type: string
default: ${{vars.SYS_VERSIONS || '["testing-slim"]'}}
description: System versions
verbose_env:
type: string
default: ${{vars.CI_VERBOSE_ENV || false}}
description: Print the bake environment.
silent_bake:
type: string
default: ${{vars.CI_SILENT_BAKE || false}}
description: Print as little as possible.
print_bake:
type: string
default: ${{vars.CI_PRINT_BAKE || false}}
description: Print the computed receipe.
jobs:
bake:
name: Bake
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: Execute
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}}
CI_VERBOSE_ENV: ${{inputs.verbose_env}}
CI_SILENT_BAKE: ${{inputs.silent_bake}}
CI_PRINT_BAKE: ${{inputs.print_bake}}
run: |
docker/bake.sh ${{matrix.bake_target}}