cargo-semver-checks/.github/workflows/ci.yml

58 lines
1.6 KiB
YAML

name: CI
on:
pull_request:
push:
branches:
- main
env:
RUST_BACKTRACE: 1
jobs:
ci-everything:
name: All CI stages
runs-on: ubuntu-latest
needs:
- test-build
- test-action
- test-inputs
- test-cache
if: ${{ success() || failure() }} # Run this job even if a dependency has failed.
steps:
- name: Job outcomes
run: |
echo "test-build: ${{ needs.test-build.result }}"
echo "test-action: ${{ needs.test-action.result }}"
echo "test-inputs: ${{ needs.test-inputs.result }}"
echo "test-cache: ${{ needs.test-cache.result }}"
# Fail this required job if any of its dependent jobs have failed.
#
# Do not attempt to consolidate these steps into one step, it won't work.
# Multi-line `if` clauses are not evaluated properly: see the intermediate commits in
# https://github.com/obi1kenobi/cargo-semver-checks/pull/405
- if: ${{ needs.test-build.result != 'success' }}
run: exit 1
- if: ${{ needs.test-action.result != 'success' }}
run: exit 1
- if: ${{ needs.test-inputs.result != 'success' }}
run: exit 1
- if: ${{ needs.test-cache.result != 'success' }}
run: exit 1
test-build:
name: Test build
uses: ./.github/workflows/test-build.yml
test-action:
name: Smoke test the action
uses: ./.github/workflows/test-action.yml
test-inputs:
name: Test action inputs
uses: ./.github/workflows/test-inputs.yml
test-cache:
name: Test rustdoc caching
uses: ./.github/workflows/test-cache.yml