Skip to content

ci: introduce build-test-tidy-pr #15

ci: introduce build-test-tidy-pr

ci: introduce build-test-tidy-pr #15

name: build-test-tidy-pr
on:
pull_request:
types:
- opened
- synchronize
- reopened
- labeled
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
make-sure-label-is-present:
uses: autowarefoundation/autoware-github-actions/.github/workflows/make-sure-label-is-present.yaml@v1
with:
label: tag:run-build-and-test-differential
check-if-cuda-job-is-needed:
needs: make-sure-label-is-present
runs-on: ubuntu-latest
outputs:
cuda_job_is_needed: ${{ steps.verify.outputs.any_changed }}
steps:
- uses: actions/checkout@v4
- name: Check if relevant files changed
id: check
uses: tj-actions/changed-files@v45
with:
files: |
perception/**
sensing/**
- name: Output result
run: |
echo "CUDA job needed: ${{ steps.check.outputs.any_changed }}"
shell: bash
build-and-test-differential:
needs:
- make-sure-label-is-present
uses: ./.github/workflows/build-and-test-differential.yaml
with:
container: ghcr.io/autowarefoundation/autoware:universe-devel
secrets:
codecov-token: ${{ secrets.CODECOV_TOKEN }}
build-and-test-differential-cuda:
needs: check-if-cuda-job-is-needed
if: ${{ needs.check-if-cuda-job-is-needed.outputs.cuda_job_is_needed == 'true' }}
uses: ./.github/workflows/build-and-test-differential.yaml
with:
container: ghcr.io/autowarefoundation/autoware:universe-devel
container-suffix: -cuda
secrets:
codecov-token: ${{ secrets.CODECOV_TOKEN }}
build-test-pr:
needs:
- build-and-test-differential
- build-and-test-differential-cuda
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check build-and-test success
if: ${{ needs.build-and-test-differential.result == 'success' && (needs.build-and-test-differential-cuda.result == 'success' || needs.build-and-test-differential-cuda.result == 'skipped') }}
run: echo "build-test-pr succeeded."
- name: Fail if conditions not met
if: ${{ !(needs.build-and-test-differential.result == 'success' && (needs.build-and-test-differential-cuda.result == 'success' || needs.build-and-test-differential-cuda.result == 'skipped')) }}
run: exit 1
clang-tidy-differential:
needs:
- build-and-test-differential
uses: ./.github/workflows/clang-tidy-differential.yaml
with:
container: ghcr.io/autowarefoundation/autoware:universe-devel
clang-tidy-differential-cuda:
needs:
- build-and-test-differential-cuda
uses: ./.github/workflows/clang-tidy-differential.yaml
with:
container: ghcr.io/autowarefoundation/autoware:universe-devel
container-suffix: -cuda
clang-tidy-pr:
needs:
- clang-tidy-differential
- clang-tidy-differential-cuda
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check clang-tidy success
if: ${{ needs.clang-tidy-differential.result == 'success' && (needs.clang-tidy-differential-cuda.result == 'success' || needs.clang-tidy-differential-cuda.result == 'skipped') }}
run: echo "clang-tidy-pr succeeded."
- name: Fail if conditions not met
if: ${{ !(needs.clang-tidy-differential.result == 'success' && (needs.clang-tidy-differential-cuda.result == 'success' || needs.clang-tidy-differential-cuda.result == 'skipped')) }}
run: exit 1