Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
Signed-off-by: Y.Hisaki <[email protected]>
  • Loading branch information
yhisaki committed Dec 2, 2024
1 parent 6b49512 commit ffac751
Showing 1 changed file with 110 additions and 13 deletions.
123 changes: 110 additions & 13 deletions .github/workflows/build-and-test-differential.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,30 +27,82 @@ jobs:
with:
label: tag:require-cuda-build-and-test

generate-strategy:
needs: [make-sure-label-is-present, make-sure-require-cuda-label-is-present]
if: ${{ needs.make-sure-label-is-present.outputs.result == 'true' }}
prepare-build-and-test-differential:
runs-on: ubuntu-latest
needs: [make-sure-label-is-present, make-sure-require-cuda-label-is-present]
outputs:
strategy: ${{ steps.generate-strategy.outputs.strategy }}
cuda_build: ${{ steps.check-if-cuda-build-is-required.outputs.cuda_build }}
steps:
- name: Generate strategy
id: generate-strategy
- name: Check if cuda-build is required
id: check-if-cuda-build-is-required
run: |
if [ "${{ needs.make-sure-require-cuda-label-is-present.outputs.result }}" != "true" ]; then
strategy='{"rosdistro":["humble"],"container-suffix":[""],"include":[{"rosdistro":"humble","container":"ghcr.io/autowarefoundation/autoware:universe-devel","build-depends-repos":"build_depends.repos"},{"container-suffix":"","runner":"ubuntu-latest","build-pre-command":""}]}'
if ${{ needs.make-sure-require-cuda-label-is-present.outputs.result == 'true' }}; then
echo "cuda-build is required"
echo "cuda_build=true" >> $GITHUB_OUTPUT
else
strategy='{"rosdistro":["humble"],"container-suffix":["-cuda"],"include":[{"rosdistro":"humble","container":"ghcr.io/autowarefoundation/autoware:universe-devel","build-depends-repos":"build_depends.repos"},{"container-suffix":"-cuda","runner":"codebuild-autoware-us-east-1-${{ github.run_id }}-${{ github.run_attempt }}-ubuntu-7.0-large","build-pre-command":"taskset --cpu-list 0-5"}]}'
echo "cuda-build is not required"
echo "cuda_build=false" >> $GITHUB_OUTPUT
fi
echo "::set-output name=strategy::$(echo $strategy | jq -c .)"
shell: bash
- name: Fail if build is not required
if: ${{ needs.make-sure-label-is-present.outputs.result == 'false' }}
run: exit 1

build-and-test-differential:
needs: [generate-strategy]
runs-on: ${{ matrix.runner }}
container: ${{ matrix.container }}${{ matrix.container-suffix }}
needs: prepare-build-and-test-differential
strategy:
fail-fast: false
matrix: ${{fromJson(needs.generate-strategy.outputs.strategy)}}
matrix:
rosdistro:
- humble
include:
- rosdistro: humble
container: ghcr.io/autowarefoundation/autoware:universe-devel
container-suffix: ""
build-depends-repos: build_depends.repos
runner: ubuntu-latest
build-pre-command: ""
steps:
- name: Set PR fetch depth
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_ENV}"
shell: bash

- name: Checkout PR branch and all PR commits
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: ${{ env.PR_FETCH_DEPTH }}

- name: Run build-and-test-differential action
uses: ./.github/actions/build-and-test-differential
with:
rosdistro: ${{ matrix.rosdistro }}
container: ${{ matrix.container }}
container-suffix: ${{ matrix.container-suffix }}
runner: ${{ matrix.runner }}
build-depends-repos: ${{ matrix.build-depends-repos }}
build-pre-command: ${{ matrix.build-pre-command }}
codecov-token: ${{ secrets.CODECOV_TOKEN }}

build-and-test-differential-cuda:
runs-on: ${{ matrix.runner }}
container: ${{ matrix.container }}${{ matrix.container-suffix }}
needs: prepare-build-and-test-differential
if: ${{ needs.prepare-build-and-test-differential.outputs.cuda_build == 'true' }}
strategy:
fail-fast: false
matrix:
rosdistro:
- humble
include:
- rosdistro: humble
container: ghcr.io/autowarefoundation/autoware:universe-devel
container-suffix: -cuda
build-depends-repos: build_depends.repos
runner: codebuild-autoware-us-east-1-${{ github.run_id }}-${{ github.run_attempt }}-ubuntu-7.0-large
build-pre-command: taskset --cpu-list 0-5
steps:
- name: Set PR fetch depth
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_ENV}"
Expand All @@ -74,7 +126,52 @@ jobs:
codecov-token: ${{ secrets.CODECOV_TOKEN }}

clang-tidy-differential:
needs: build-and-test-differential
needs: [build-and-test-differential, prepare-build-and-test-differential]
if: ${{ needs.prepare-build-and-test-differential.outputs.cuda_build == 'false' }}
runs-on: ubuntu-latest
container: ghcr.io/autowarefoundation/autoware:universe-devel
steps:
- name: Set PR fetch depth
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_ENV}"

- name: Checkout PR branch and all PR commits
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: ${{ env.PR_FETCH_DEPTH }}

- name: Show disk space before the tasks
run: df -h

- name: Remove exec_depend
uses: autowarefoundation/autoware-github-actions/remove-exec-depend@v1

- name: Get modified packages
id: get-modified-packages
uses: autowarefoundation/autoware-github-actions/get-modified-packages@v1

- name: Get changed files (existing files only)
id: get-changed-files
run: |
echo "changed-files=$(git diff --name-only "origin/${{ github.base_ref }}"...HEAD | grep -E '\.(cpp|hpp)$' | while read -r file; do [ -e "$file" ] && echo -n "$file "; done)" >> $GITHUB_OUTPUT
shell: bash

- name: Run clang-tidy
if: ${{ steps.get-changed-files.outputs.changed-files != '' }}
uses: autowarefoundation/autoware-github-actions/clang-tidy@v1
with:
rosdistro: humble
target-packages: ${{ steps.get-modified-packages.outputs.modified-packages }}
clang-tidy-config-url: https://raw.githubusercontent.com/autowarefoundation/autoware/main/.clang-tidy-ci
clang-tidy-ignore-path: .clang-tidy-ignore
build-depends-repos: build_depends.repos
cache-key-element: cuda

- name: Show disk space after the tasks
run: df -h

clang-tidy-differential-cuda:
needs: build-and-test-differential-cuda
runs-on: codebuild-autoware-us-east-1-${{ github.run_id }}-${{ github.run_attempt }}-ubuntu-7.0-large
container: ghcr.io/autowarefoundation/autoware:universe-devel-cuda
steps:
Expand Down

0 comments on commit ffac751

Please sign in to comment.