99 lines
2.7 KiB
YAML
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 }}
|