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}}