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>
91 lines
2.9 KiB
YAML
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}}
|