Files
tuwunel/.github/workflows/main.yml
Jason Volk 4430f71bfd Add conditions to skip container publish
Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-11 07:02:14 +00:00

99 lines
2.7 KiB
YAML

name: Main
on:
push:
branches:
- "**"
pull_request:
branches:
- "**"
workflow_dispatch:
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
env:
inputs: ${{github.event.inputs}}
jobs:
deps:
if: ${{ vars.CI_VERBOSE_DEPS || false }}
name: Deps
uses: ./.github/workflows/deps.yml
with:
cargo_profiles: ${{vars.CARGO_PROFILES}}
feat_sets: ${{vars.FEAT_SETS}}
rust_toolchains: ${{vars.RUST_TOOLCHAINS}}
rust_targets: ${{vars.RUST_TARGETS}}
sys_names: ${{vars.SYS_NAMES}}
sys_targets: ${{vars.sys_TARGETS}}
sys_versions: ${{vars.SYS_VERSIONS}}
machines: ${{vars.MACHINES}}
lint:
if: ${{ !failure() && !cancelled() }}
name: Lint
needs: [deps]
uses: ./.github/workflows/lint.yml
with:
cargo_profiles: ${{vars.CARGO_PROFILES}}
feat_sets: ${{vars.FEAT_SETS}}
rust_toolchains: ${{vars.RUST_TOOLCHAINS}}
rust_targets: ${{vars.RUST_TARGETS}}
sys_names: ${{vars.SYS_NAMES}}
sys_targets: ${{vars.sys_TARGETS}}
sys_versions: ${{vars.SYS_VERSIONS}}
machines: ${{vars.MACHINES}}
test:
if: ${{ !failure() && !cancelled() }}
name: Test
needs: [lint]
uses: ./.github/workflows/test.yml
with:
cargo_profiles: ${{vars.CARGO_PROFILES}}
feat_sets: ${{vars.FEAT_SETS}}
rust_toolchains: ${{vars.RUST_TOOLCHAINS}}
rust_targets: ${{vars.RUST_TARGETS}}
sys_names: ${{vars.SYS_NAMES}}
sys_targets: ${{vars.sys_TARGETS}}
sys_versions: ${{vars.SYS_VERSIONS}}
machines: ${{vars.MACHINES}}
complement: ${{fromJSON(vars.COMPLEMENT || 'true')}}
package:
if: ${{ !failure() && !cancelled() }}
name: Package
needs: [lint]
uses: ./.github/workflows/package.yml
with:
cargo_profiles: '["release"]'
feat_sets: ${{vars.FEAT_SETS}}
rust_toolchains: '["stable"]'
sys_names: ${{vars.SYS_NAMES}}
sys_versions: ${{vars.SYS_VERSIONS}}
rust_targets: ${{vars.RUST_TARGETS}}
sys_targets: ${{vars.sys_TARGETS}}
machines: ${{vars.MACHINES}}
publish:
if: ${{ !failure() && !cancelled() }}
name: Publish
needs: [test, package]
uses: ./.github/workflows/publish.yml
with:
cargo_profiles: '["release"]'
feat_sets: ${{vars.FEAT_SETS}}
rust_toolchains: '["stable"]'
sys_names: ${{vars.SYS_NAMES}}
sys_versions: ${{vars.SYS_VERSIONS}}
rust_targets: ${{vars.RUST_TARGETS}}
sys_targets: ${{vars.sys_TARGETS}}
machines: ${{vars.MACHINES}}
excludes: '[{"feat_set": "none"}]'
docker_id: ${{vars.DOCKER_ID}}
secrets:
ghcr_token: ${{ secrets.GHCR_TOKEN }}
dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }}