feat(autoware_tensorrt_yolox): add GPU - CUDA device option #36005
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build-and-test-differential | |
on: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
- labeled | |
env: | |
CC: /usr/lib/ccache/gcc | |
CXX: /usr/lib/ccache/g++ | |
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 | |
build-and-test-differential: | |
needs: make-sure-label-is-present | |
if: ${{ needs.make-sure-label-is-present.outputs.result == 'true' }} | |
runs-on: ${{ matrix.runner }} | |
container: ${{ matrix.container }}${{ matrix.container-suffix }} | |
strategy: | |
fail-fast: false | |
matrix: | |
rosdistro: | |
- humble | |
container-suffix: | |
- "" | |
- -cuda | |
include: | |
- rosdistro: humble | |
container: ghcr.io/autowarefoundation/autoware:latest-autoware-universe | |
build-depends-repos: build_depends.repos | |
- container-suffix: -cuda | |
runner: [self-hosted, linux, X64, cpu] | |
- container-suffix: "" | |
runner: ubuntu-latest | |
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: Create ccache directory | |
run: | | |
mkdir -p ${CCACHE_DIR} | |
du -sh ${CCACHE_DIR} && ccache -s | |
shell: bash | |
- name: Attempt to restore ccache | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
/root/.ccache | |
key: ccache-main-${{ runner.arch }}-${{ matrix.rosdistro }}-${{ github.event.pull_request.base.sha }} | |
restore-keys: | | |
ccache-main-${{ runner.arch }}-${{ matrix.rosdistro }}- | |
# Limit ccache size only for CUDA builds to avoid running out of disk space | |
- name: Limit ccache size | |
if: ${{ matrix.container-suffix == '-cuda' }} | |
run: | | |
rm -f "${CCACHE_DIR}/ccache.conf" | |
echo -e "# Set maximum cache size\nmax_size = 1MB" >> "${CCACHE_DIR}/ccache.conf" | |
shell: bash | |
- name: Show ccache stats before build | |
run: du -sh ${CCACHE_DIR} && ccache -s | |
shell: bash | |
- name: Export CUDA state as a variable for adding to cache key | |
run: | | |
build_type_cuda_state=nocuda | |
if [[ "${{ matrix.container-suffix }}" == "-cuda" ]]; then | |
build_type_cuda_state=cuda | |
fi | |
echo "BUILD_TYPE_CUDA_STATE=$build_type_cuda_state" >> "${GITHUB_ENV}" | |
echo "::notice::BUILD_TYPE_CUDA_STATE=$build_type_cuda_state" | |
shell: bash | |
- name: Build | |
if: ${{ steps.get-modified-packages.outputs.modified-packages != '' }} | |
uses: autowarefoundation/autoware-github-actions/colcon-build@v1 | |
with: | |
rosdistro: ${{ matrix.rosdistro }} | |
target-packages: ${{ steps.get-modified-packages.outputs.modified-packages }} | |
build-depends-repos: ${{ matrix.build-depends-repos }} | |
cache-key-element: ${{ env.BUILD_TYPE_CUDA_STATE }} | |
- name: Show ccache stats after build | |
run: du -sh ${CCACHE_DIR} && ccache -s | |
shell: bash | |
- name: Test | |
id: test | |
if: ${{ steps.get-modified-packages.outputs.modified-packages != '' }} | |
uses: autowarefoundation/autoware-github-actions/colcon-test@v1 | |
with: | |
rosdistro: ${{ matrix.rosdistro }} | |
target-packages: ${{ steps.get-modified-packages.outputs.modified-packages }} | |
build-depends-repos: ${{ matrix.build-depends-repos }} | |
- name: Upload coverage to CodeCov | |
if: ${{ steps.test.outputs.coverage-report-files != '' }} | |
uses: codecov/codecov-action@v4 | |
with: | |
files: ${{ steps.test.outputs.coverage-report-files }} | |
fail_ci_if_error: false | |
verbose: true | |
flags: differential | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: Show disk space after the tasks | |
run: df -h | |
clang-tidy-differential: | |
needs: build-and-test-differential | |
runs-on: ubuntu-latest | |
container: ghcr.io/autowarefoundation/autoware:latest-autoware-universe-cuda | |
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 }} | |
target-files: ${{ steps.get-changed-files.outputs.changed-files }} | |
clang-tidy-config-url: https://raw.githubusercontent.com/autowarefoundation/autoware/main/.clang-tidy-ci | |
build-depends-repos: build_depends.repos | |
cache-key-element: cuda | |
- name: Show disk space after the tasks | |
run: df -h |