From 470a8b577563ab7d28ccc322800d8591086b4a1b Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 16 May 2024 06:09:55 +0900 Subject: [PATCH 1/7] chore(docker): separate `rosdep install` and `colcon build` RUN commands (#4719) --- docker/autoware-openadk/Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/autoware-openadk/Dockerfile b/docker/autoware-openadk/Dockerfile index c7ce5cca80..3602fe690c 100644 --- a/docker/autoware-openadk/Dockerfile +++ b/docker/autoware-openadk/Dockerfile @@ -66,7 +66,10 @@ RUN --mount=type=ssh \ && apt-get update \ && rosdep update \ && DEBIAN_FRONTEND=noninteractive rosdep install -y --ignore-src --from-paths src --rosdistro "$ROS_DISTRO" \ - && source /opt/ros/"$ROS_DISTRO"/setup.bash \ + && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* "$HOME"/.cache + +# Build Autoware +RUN source /opt/ros/"$ROS_DISTRO"/setup.bash \ && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --cmake-args \ " -Wno-dev" \ " --no-warn-unused-cli" \ @@ -74,7 +77,6 @@ RUN --mount=type=ssh \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ && find /autoware/install -type d -exec chmod 777 {} \; \ && chmod -R 777 /var/tmp/ccache \ - && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* "$HOME"/.cache \ && rm -rf /autoware/build /autoware/src CMD ["/bin/bash"] From ad447478cedffd36c8a794dc9235ef9e0d19f73f Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 16 May 2024 13:42:04 +0900 Subject: [PATCH 2/7] Use BuildJet as self-hosted runner (#1) * use buildjet * remove condition and add pr * disable update * remove jq and free disk * disable condition * empty Signed-off-by: Yutaka Kondo * Revert "disable condition" This reverts commit 12f239814acd4db3925130d215c88dc9ce574ae0. * disable minimum condition --------- Signed-off-by: Yutaka Kondo --- .github/actions/docker-build-and-push/action.yaml | 7 ------- .github/workflows/docker-build-and-push-main.yaml | 13 ++----------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index 13526e9083..84a7c12a2b 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -25,12 +25,6 @@ runs: - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Install jq - run: | - sudo apt-get -y update - sudo apt-get -y install jq - shell: bash - - name: Set Docker tags id: set-docker-tags run: | @@ -123,7 +117,6 @@ runs: ${{ inputs.build-args }} - name: Build and Save Artifacts - if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.artifacts-destination == 'tarball' }} uses: docker/bake-action@v3 with: push: false diff --git a/.github/workflows/docker-build-and-push-main.yaml b/.github/workflows/docker-build-and-push-main.yaml index d5fe698bcc..83dadb69cd 100644 --- a/.github/workflows/docker-build-and-push-main.yaml +++ b/.github/workflows/docker-build-and-push-main.yaml @@ -7,13 +7,7 @@ name: docker-build-and-push-main on: - push: - tags: - - adkit-v*.*.* - branches: - - main - schedule: - - cron: 0 0 1,15 * * + pull_request: workflow_dispatch: inputs: artifacts-destination: @@ -26,7 +20,7 @@ on: jobs: docker-build-and-push-main: - runs-on: ubuntu-latest + runs-on: buildjet-4vcpu-ubuntu-2204 strategy: fail-fast: false matrix: @@ -47,9 +41,6 @@ jobs: - name: Check out repository uses: actions/checkout@v4 - - name: Free disk space - uses: ./.github/actions/free-disk-space - - name: Load env run: | cat amd64.env | sed -e "s/^\s*//" -e "/^#/d" >> $GITHUB_ENV From 2b7f13984b92ea234ce23c5055e96b9c69397f43 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 16 May 2024 21:12:42 +0900 Subject: [PATCH 3/7] check author --- .../workflows/docker-build-and-push-main.yaml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-build-and-push-main.yaml b/.github/workflows/docker-build-and-push-main.yaml index 83dadb69cd..ad34fd2ba2 100644 --- a/.github/workflows/docker-build-and-push-main.yaml +++ b/.github/workflows/docker-build-and-push-main.yaml @@ -38,6 +38,20 @@ jobs: lib_dir: x86_64 additional-tag-suffix: -cuda steps: + - name: Check if PR author is the specific user + id: author-check + run: | + PR_AUTHOR=$(jq -r '.pull_request.user.login' "$GITHUB_EVENT_PATH") + echo "PR_AUTHOR=$PR_AUTHOR" + if [[ "$PR_AUTHOR" == "youtalk" ]]; then + echo "Author is target-user" + echo "::set-output name=author-found::true" + else + echo "Author is not target-user" + echo "::set-output name=author-found::false" + fi + shell: bash + - name: Check out repository uses: actions/checkout@v4 @@ -49,6 +63,7 @@ jobs: fi - name: Build 'autoware-openadk' + if: steps.author-check.outputs.author-found == 'true' uses: ./.github/actions/docker-build-and-push with: bake-target: autoware-openadk @@ -61,7 +76,3 @@ jobs: tag-suffix: ${{ matrix.additional-tag-suffix }}-amd64 tag-prefix: ${{ env.rosdistro }} allow-push: true - - - name: Show disk space - run: | - df -h From c9cb6a0cd6b41ecc03df1603d1d78d4aaffecec5 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 16 May 2024 21:42:07 +0900 Subject: [PATCH 4/7] new use rule --- .github/workflows/docker-build-and-push-main.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-and-push-main.yaml b/.github/workflows/docker-build-and-push-main.yaml index ad34fd2ba2..f780d854ea 100644 --- a/.github/workflows/docker-build-and-push-main.yaml +++ b/.github/workflows/docker-build-and-push-main.yaml @@ -45,10 +45,10 @@ jobs: echo "PR_AUTHOR=$PR_AUTHOR" if [[ "$PR_AUTHOR" == "youtalk" ]]; then echo "Author is target-user" - echo "::set-output name=author-found::true" + echo "author-foud=true" >> $GITHUB_OUTPUT else echo "Author is not target-user" - echo "::set-output name=author-found::false" + echo "author-foud=false" >> $GITHUB_OUTPUT fi shell: bash From a3fe2b809f3cb17af65649b082abf57141bb7da8 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 16 May 2024 21:44:49 +0900 Subject: [PATCH 5/7] log json --- .github/workflows/docker-build-and-push-main.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker-build-and-push-main.yaml b/.github/workflows/docker-build-and-push-main.yaml index f780d854ea..fe215c1bb6 100644 --- a/.github/workflows/docker-build-and-push-main.yaml +++ b/.github/workflows/docker-build-and-push-main.yaml @@ -42,6 +42,7 @@ jobs: id: author-check run: | PR_AUTHOR=$(jq -r '.pull_request.user.login' "$GITHUB_EVENT_PATH") + echo $(jq "$GITHUB_EVENT_PATH") echo "PR_AUTHOR=$PR_AUTHOR" if [[ "$PR_AUTHOR" == "youtalk" ]]; then echo "Author is target-user" From 4538a7405908abd796332f1a6524a3daa7568375 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 16 May 2024 21:46:59 +0900 Subject: [PATCH 6/7] refine log --- .github/workflows/docker-build-and-push-main.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-build-and-push-main.yaml b/.github/workflows/docker-build-and-push-main.yaml index fe215c1bb6..558fdeba71 100644 --- a/.github/workflows/docker-build-and-push-main.yaml +++ b/.github/workflows/docker-build-and-push-main.yaml @@ -42,13 +42,11 @@ jobs: id: author-check run: | PR_AUTHOR=$(jq -r '.pull_request.user.login' "$GITHUB_EVENT_PATH") - echo $(jq "$GITHUB_EVENT_PATH") - echo "PR_AUTHOR=$PR_AUTHOR" if [[ "$PR_AUTHOR" == "youtalk" ]]; then - echo "Author is target-user" + echo "$PR_AUTHOR is a target user" echo "author-foud=true" >> $GITHUB_OUTPUT else - echo "Author is not target-user" + echo "$PR_AUTHOR is not a target user" echo "author-foud=false" >> $GITHUB_OUTPUT fi shell: bash From b399062e28cfa53d5a9c8cad151495f3bdfb1da3 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 16 May 2024 21:48:20 +0900 Subject: [PATCH 7/7] fix typo --- .github/workflows/docker-build-and-push-main.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-and-push-main.yaml b/.github/workflows/docker-build-and-push-main.yaml index 558fdeba71..7f3d04d2ec 100644 --- a/.github/workflows/docker-build-and-push-main.yaml +++ b/.github/workflows/docker-build-and-push-main.yaml @@ -44,10 +44,10 @@ jobs: PR_AUTHOR=$(jq -r '.pull_request.user.login' "$GITHUB_EVENT_PATH") if [[ "$PR_AUTHOR" == "youtalk" ]]; then echo "$PR_AUTHOR is a target user" - echo "author-foud=true" >> $GITHUB_OUTPUT + echo "author-found=true" >> $GITHUB_OUTPUT else echo "$PR_AUTHOR is not a target user" - echo "author-foud=false" >> $GITHUB_OUTPUT + echo "author-found=false" >> $GITHUB_OUTPUT fi shell: bash