ci: Use wildcard to preserve any artifact directory structure. (970cea5c2b)
ci: Mask out debug smoketest on toolchain stable
Signed-off-by: Jason Volk <jason@zemos.net>
113 lines
3.3 KiB
YAML
113 lines
3.3 KiB
YAML
name: Package
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
cargo_profiles:
|
|
type: string
|
|
description: Cargo profiles
|
|
feat_sets:
|
|
type: string
|
|
description: Cargo feature groups
|
|
rust_toolchains:
|
|
type: string
|
|
description: Rust toolchains
|
|
sys_names:
|
|
type: string
|
|
description: System names
|
|
sys_versions:
|
|
type: string
|
|
description: System versions
|
|
rust_targets:
|
|
type: string
|
|
description: Rust targets
|
|
sys_targets:
|
|
type: string
|
|
description: System targets
|
|
machines:
|
|
type: string
|
|
description: Hardware platform vector
|
|
excludes:
|
|
type: string
|
|
default: '[]'
|
|
description: Matrix exclusions
|
|
includes:
|
|
type: string
|
|
default: '[]'
|
|
description: Matrix inclusions
|
|
|
|
jobs:
|
|
build_standalone:
|
|
if: >
|
|
!failure() && !cancelled()
|
|
|
|
name: Standalone
|
|
uses: ./.github/workflows/bake.yml
|
|
with:
|
|
bake_targets: '["standalone", "tuwunel"]'
|
|
cargo_profiles: ${{inputs.cargo_profiles}}
|
|
feat_sets: ${{inputs.feat_sets}}
|
|
rust_toolchains: ${{inputs.rust_toolchains}}
|
|
sys_names: ${{inputs.sys_names}}
|
|
sys_versions: ${{inputs.sys_versions}}
|
|
rust_targets: ${{inputs.rust_targets}}
|
|
sys_targets: ${{inputs.sys_targets}}
|
|
machines: ${{inputs.machines}}
|
|
excludes: ${{inputs.excludes}}
|
|
includes: ${{inputs.includes}}
|
|
artifact: >
|
|
{
|
|
"standalone": {"dst": "tuwunel", "src": "/usr/bin/tuwunel" },
|
|
"tuwunel": {"dst": "tuwunel-docker.tar.gz", "img": true }
|
|
}
|
|
|
|
build_pkgs:
|
|
if: >
|
|
!failure() && !cancelled()
|
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0])
|
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0])
|
|
|
|
name: Build Pkgs
|
|
uses: ./.github/workflows/bake.yml
|
|
with:
|
|
bake_targets: '["pkg-deb", "pkg-rpm"]'
|
|
cargo_profiles: '["release"]'
|
|
feat_sets: '["all"]'
|
|
rust_toolchains: '["stable"]'
|
|
sys_names: ${{inputs.sys_names}}
|
|
sys_versions: ${{inputs.sys_versions}}
|
|
rust_targets: ${{inputs.rust_targets}}
|
|
sys_targets: ${{inputs.sys_targets}}
|
|
machines: ${{inputs.machines}}
|
|
excludes: ${{inputs.excludes}}
|
|
includes: ${{inputs.includes}}
|
|
artifact: >
|
|
{
|
|
"pkg-deb": {"dst": "tuwunel_1.0.0-1_amd64.deb"},
|
|
"pkg-rpm": {"dst": "tuwunel-1.0.0-1.x86_64.rpm"}
|
|
}
|
|
|
|
check_pkgs:
|
|
if: >
|
|
!failure() && !cancelled()
|
|
&& contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0])
|
|
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0])
|
|
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0])
|
|
|
|
name: Check Pkgs
|
|
needs: [build_pkgs]
|
|
uses: ./.github/workflows/bake.yml
|
|
with:
|
|
bake_targets: '["pkg-deb-install", "pkg-rpm-install"]'
|
|
cargo_profiles: '["release"]'
|
|
feat_sets: '["all"]'
|
|
rust_toolchains: '["stable"]'
|
|
sys_names: ${{inputs.sys_names}}
|
|
sys_versions: ${{inputs.sys_versions}}
|
|
rust_targets: ${{inputs.rust_targets}}
|
|
sys_targets: ${{inputs.sys_targets}}
|
|
machines: ${{inputs.machines}}
|
|
excludes: ${{inputs.excludes}}
|
|
includes: ${{inputs.includes}}
|