diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index c0b9634ba..75c390e0e 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -54,6 +54,18 @@ runs: echo ::set-output name=tags::$tags_multiline shell: bash + - name: Docker meta for base + id: meta-base + uses: docker/metadata-action@v4 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: ${{ steps.set-docker-tags.outputs.tags }} + bake-target: docker-metadata-action-base + flavor: | + latest=false + prefix=${{ inputs.tag-prefix }} + suffix=-base${{ inputs.tag-suffix }} + - name: Docker meta for devel id: meta-devel uses: docker/metadata-action@v4 @@ -64,7 +76,7 @@ runs: flavor: | latest=false prefix=${{ inputs.tag-prefix }} - suffix=${{ inputs.tag-suffix }} + suffix=-devel${{ inputs.tag-suffix }} - name: Docker meta for prebuilt id: meta-prebuilt @@ -77,6 +89,30 @@ runs: latest=false prefix=${{ inputs.tag-prefix }} suffix=-prebuilt${{ inputs.tag-suffix }} + + - name: Docker meta for runtime-monolithic + id: meta-runtime-monolithic + uses: docker/metadata-action@v4 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: ${{ steps.set-docker-tags.outputs.tags }} + bake-target: docker-metadata-action-runtime-monolithic + flavor: | + latest=false + prefix=${{ inputs.tag-prefix }} + suffix=-runtime-monolithic${{ inputs.tag-suffix }} + + - name: Docker meta for runtime-planning-control + id: meta-runtime-planning-control + uses: docker/metadata-action@v4 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: ${{ steps.set-docker-tags.outputs.tags }} + bake-target: docker-metadata-action-runtime-planning-control + flavor: | + latest=false + prefix=${{ inputs.tag-prefix }} + suffix=-runtime-planning-control${{ inputs.tag-suffix }} - name: Login to GitHub Container Registry if: ${{ github.event_name != 'pull_request' }} @@ -90,10 +126,14 @@ runs: uses: docker/bake-action@v2 with: # Checking event_name for https://github.com/autowarefoundation/autoware/issues/2796 - push: ${{ github.event_name == 'schedule' || github.ref_name == github.event.repository.default_branch || github.event_name == 'push'}} + # ${{ github.event_name == 'schedule' || github.ref_name == github.event.repository.default_branch || github.event_name == 'push'}} + push: true files: | docker/${{ inputs.bake-target }}/docker-bake.hcl + ${{ steps.meta-base.outputs.bake-file }} ${{ steps.meta-devel.outputs.bake-file }} ${{ steps.meta-prebuilt.outputs.bake-file }} + ${{ steps.meta-runtime-monolithic.outputs.bake-file }} + ${{ steps.meta-runtime-planning-control.outputs.bake-file }} set: | ${{ inputs.build-args }} diff --git a/.github/workflows/backport.yaml b/.github/workflows/backport.yaml deleted file mode 100644 index 7a9d63f79..000000000 --- a/.github/workflows/backport.yaml +++ /dev/null @@ -1,33 +0,0 @@ -name: backport -on: - pull_request_target: - types: - - closed - - labeled - -jobs: - backport: - runs-on: ubuntu-latest - # Only react to merged PRs for security reasons. - # See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target. - if: > - github.event.pull_request.merged - && ( - github.event.action == 'closed' - || ( - github.event.action == 'labeled' - && contains(github.event.label.name, 'backport') - ) - ) - steps: - - name: Generate token - id: generate-token - uses: tibdex/github-app-token@v1 - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.PRIVATE_KEY }} - - - uses: tibdex/backport@v2 - with: - github_token: ${{ steps.generate-token.outputs.token }} - title_template: "<%= title %> (backport #<%= number %>)" diff --git a/.github/workflows/build-main-self-hosted.yaml b/.github/workflows/build-main-self-hosted.yaml deleted file mode 100644 index 3f0fdb23b..000000000 --- a/.github/workflows/build-main-self-hosted.yaml +++ /dev/null @@ -1,47 +0,0 @@ -name: build-main-self-hosted - -on: - schedule: - - cron: 0 12 * * * - workflow_dispatch: - -jobs: - load-env: - uses: ./.github/workflows/load-env.yaml - - build-main-self-hosted: - needs: load-env - runs-on: [self-hosted, linux, ARM64] - container: ${{ needs.load-env.outputs.base-image }} - steps: - - name: Check out repository - uses: actions/checkout@v3 - - - name: Run setup script - run: | - ./setup-dev-env.sh -y - - - name: Set git config - uses: autowarefoundation/autoware-github-actions/set-git-config@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Run vcs import - run: | - mkdir src - vcs import src < autoware.repos - - - name: Run vcs export - run: | - vcs export --exact src || true - - - name: Run rosdep install - run: | - sudo apt-get -y update - rosdep update - DEBIAN_FRONTEND=noninteractive rosdep install -y --from-paths src --ignore-src --rosdistro ${{ needs.load-env.outputs.rosdistro }} - - - name: Build - run: | - . /opt/ros/${{ needs.load-env.outputs.rosdistro }}/setup.sh - colcon build --event-handlers console_cohesion+ --cmake-args -DCMAKE_BUILD_TYPE=Release diff --git a/.github/workflows/build-main.yaml b/.github/workflows/build-main.yaml deleted file mode 100644 index a57934080..000000000 --- a/.github/workflows/build-main.yaml +++ /dev/null @@ -1,47 +0,0 @@ -name: build-main - -on: - schedule: - - cron: 0 12 * * * - workflow_dispatch: - -jobs: - load-env: - uses: ./.github/workflows/load-env.yaml - - build-main: - needs: load-env - runs-on: ubuntu-latest - container: ${{ needs.load-env.outputs.base-image }} - steps: - - name: Check out repository - uses: actions/checkout@v3 - - - name: Run setup script - run: | - ./setup-dev-env.sh -y - - - name: Set git config - uses: autowarefoundation/autoware-github-actions/set-git-config@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Run vcs import - run: | - mkdir src - vcs import src < autoware.repos - - - name: Run vcs export - run: | - vcs export --exact src || true - - - name: Run rosdep install - run: | - sudo apt-get -y update - rosdep update - DEBIAN_FRONTEND=noninteractive rosdep install -y --from-paths src --ignore-src --rosdistro ${{ needs.load-env.outputs.rosdistro }} - - - name: Build - run: | - . /opt/ros/${{ needs.load-env.outputs.rosdistro }}/setup.sh - colcon build --event-handlers console_cohesion+ --cmake-args -DCMAKE_BUILD_TYPE=Release diff --git a/.github/workflows/docker-build-and-push-main-self-hosted.yaml b/.github/workflows/docker-build-and-push-main-self-hosted.yaml deleted file mode 100644 index e2c435fc0..000000000 --- a/.github/workflows/docker-build-and-push-main-self-hosted.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: docker-build-and-push-main-self-hosted - -on: - push: - tags: - - v* - - "[0-9]+.[0-9]+*" - schedule: - - cron: 0 0 1,15 * * - workflow_dispatch: - -jobs: - docker-build-and-push-main-self-hosted: - runs-on: [self-hosted, linux, ARM64] - strategy: - fail-fast: false - matrix: - name: - - no-cuda - - cuda - include: - - name: no-cuda - base_image_env: base_image - setup-args: --no-nvidia - additional-tag-suffix: "" - - name: cuda - base_image_env: cuda_base_image - setup-args: --no-cuda-drivers - additional-tag-suffix: -cuda - steps: - # https://github.com/actions/checkout/issues/211 - - name: Change permission of workspace - run: | - sudo chown -R $USER:$USER ${{ github.workspace }} - - - name: Check out repository - uses: actions/checkout@v3 - - - 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 - if [ "$(uname -m)" = "aarch64" ]; then - cat arm64.env | sed -e "s/^\s*//" -e "/^#/d" >> $GITHUB_ENV - fi - - - name: Build 'autoware-universe' - uses: ./.github/actions/docker-build-and-push - with: - bake-target: autoware-universe - build-args: | - *.platform=linux/arm64 - *.args.ROS_DISTRO=${{ env.rosdistro }} - *.args.BASE_IMAGE=${{ env[format('{0}', matrix.base_image_env)] }} - *.args.PREBUILT_BASE_IMAGE=${{ env.prebuilt_base_image }} - *.args.SETUP_ARGS=${{ matrix.setup-args }} - tag-prefix: ${{ env.rosdistro }}- - tag-suffix: ${{ matrix.additional-tag-suffix }}-arm64 - - - name: Show disk space - run: | - df -h diff --git a/.github/workflows/docker-build-and-push-main.yaml b/.github/workflows/docker-build-and-push-main.yaml index 6f71ac715..77c5634af 100644 --- a/.github/workflows/docker-build-and-push-main.yaml +++ b/.github/workflows/docker-build-and-push-main.yaml @@ -12,22 +12,27 @@ on: jobs: docker-build-and-push-main: runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - name: - - no-cuda - - cuda - include: - - name: no-cuda - base_image_env: base_image - setup-args: --no-nvidia - additional-tag-suffix: "" - - name: cuda - base_image_env: cuda_base_image - setup-args: --no-cuda-drivers - additional-tag-suffix: -cuda + # strategy: + # fail-fast: false + # matrix: + # name: + # - no-cuda + # - cuda + # include: + # - name: no-cuda + # base_image_env: base_image + # setup-args: --no-nvidia + # additional-tag-suffix: "" + # - name: cuda + # base_image_env: cuda_base_image + # setup-args: --no-cuda-drivers + # additional-tag-suffix: -cuda steps: + # https://github.com/actions/checkout/issues/211 + - name: Change permission of workspace + run: | + sudo chown -R $USER:$USER ${{ github.workspace }} + - name: Check out repository uses: actions/checkout@v3 @@ -44,15 +49,13 @@ jobs: - name: Build 'autoware-universe' uses: ./.github/actions/docker-build-and-push with: - bake-target: autoware-universe + bake-target: autoware-openadk build-args: | *.platform=linux/amd64 *.args.ROS_DISTRO=${{ env.rosdistro }} - *.args.BASE_IMAGE=${{ env[format('{0}', matrix.base_image_env)] }} - *.args.PREBUILT_BASE_IMAGE=${{ env.prebuilt_base_image }} - *.args.SETUP_ARGS=${{ matrix.setup-args }} + *.args.BASE_IMAGE=${{ env.base_image }} tag-prefix: ${{ env.rosdistro }}- - tag-suffix: ${{ matrix.additional-tag-suffix }}-amd64 + tag-suffix: -amd64 - name: Show disk space run: | diff --git a/.github/workflows/mirror-main-branch.yaml b/.github/workflows/mirror-main-branch.yaml deleted file mode 100644 index 504867e36..000000000 --- a/.github/workflows/mirror-main-branch.yaml +++ /dev/null @@ -1,15 +0,0 @@ -name: mirror-main-branch - -on: - push: - branches: - - main - workflow_dispatch: - -jobs: - mirror-main-branch: - runs-on: ubuntu-latest - steps: - - uses: zofrex/mirror-branch@v1 - with: - target-branch: humble diff --git a/.github/workflows/pre-commit-ansible-autoupdate.yaml b/.github/workflows/pre-commit-ansible-autoupdate.yaml deleted file mode 100644 index 5595c69d5..000000000 --- a/.github/workflows/pre-commit-ansible-autoupdate.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: pre-commit-ansible-autoupdate - -on: - schedule: - - cron: 0 0 * * * - workflow_dispatch: - -jobs: - check-secret: - uses: autowarefoundation/autoware-github-actions/.github/workflows/check-secret.yaml@v1 - secrets: - secret: ${{ secrets.APP_ID }} - - pre-commit-ansible-autoupdate: - needs: check-secret - if: ${{ needs.check-secret.outputs.set == 'true' }} - runs-on: ubuntu-latest - steps: - - name: Generate token - id: generate-token - uses: tibdex/github-app-token@v1 - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.PRIVATE_KEY }} - - - name: Run pre-commit-autoupdate - uses: autowarefoundation/autoware-github-actions/pre-commit-autoupdate@v1 - with: - token: ${{ steps.generate-token.outputs.token }} - pre-commit-config: .pre-commit-config-ansible.yaml - pr-labels: | - bot - pre-commit-ansible-autoupdate - pr-branch: pre-commit-ansible-autoupdate - pr-title: "ci(pre-commit-ansible): autoupdate" - pr-commit-message: "ci(pre-commit-ansible): autoupdate" - auto-merge-method: squash diff --git a/.github/workflows/pre-commit-ansible.yaml b/.github/workflows/pre-commit-ansible.yaml deleted file mode 100644 index feaef88fe..000000000 --- a/.github/workflows/pre-commit-ansible.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: pre-commit-ansible - -on: - pull_request: - -jobs: - pre-commit-ansible: - runs-on: ubuntu-latest - steps: - - name: Check out repository - uses: actions/checkout@v3 - - - name: Install Ansible Galaxy depends for ansible-lint - run: | - ansible-galaxy collection install -f -r ansible-galaxy-requirements.yaml - - - name: Run pre-commit - uses: autowarefoundation/autoware-github-actions/pre-commit@v1 - with: - pre-commit-config: .pre-commit-config-ansible.yaml diff --git a/.github/workflows/pre-commit-autoupdate.yaml b/.github/workflows/pre-commit-autoupdate.yaml deleted file mode 100644 index 02e3ab2c6..000000000 --- a/.github/workflows/pre-commit-autoupdate.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: pre-commit-autoupdate - -on: - schedule: - - cron: 0 0 * * * - workflow_dispatch: - -jobs: - check-secret: - uses: autowarefoundation/autoware-github-actions/.github/workflows/check-secret.yaml@v1 - secrets: - secret: ${{ secrets.APP_ID }} - - pre-commit-autoupdate: - needs: check-secret - if: ${{ needs.check-secret.outputs.set == 'true' }} - runs-on: ubuntu-latest - steps: - - name: Generate token - id: generate-token - uses: tibdex/github-app-token@v1 - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.PRIVATE_KEY }} - - - name: Run pre-commit-autoupdate - uses: autowarefoundation/autoware-github-actions/pre-commit-autoupdate@v1 - with: - token: ${{ steps.generate-token.outputs.token }} - pre-commit-config: .pre-commit-config.yaml - pr-labels: | - bot - pre-commit-autoupdate - pr-branch: pre-commit-autoupdate - pr-title: "ci(pre-commit): autoupdate" - pr-commit-message: "ci(pre-commit): autoupdate" - auto-merge-method: squash diff --git a/.github/workflows/pre-commit-optional-autoupdate.yaml b/.github/workflows/pre-commit-optional-autoupdate.yaml deleted file mode 100644 index 12f9c3c0d..000000000 --- a/.github/workflows/pre-commit-optional-autoupdate.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: pre-commit-optional-autoupdate - -on: - schedule: - - cron: 0 0 * * * - workflow_dispatch: - -jobs: - check-secret: - uses: autowarefoundation/autoware-github-actions/.github/workflows/check-secret.yaml@v1 - secrets: - secret: ${{ secrets.APP_ID }} - - pre-commit-optional-autoupdate: - needs: check-secret - if: ${{ needs.check-secret.outputs.set == 'true' }} - runs-on: ubuntu-latest - steps: - - name: Generate token - id: generate-token - uses: tibdex/github-app-token@v1 - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.PRIVATE_KEY }} - - - name: Run pre-commit-autoupdate - uses: autowarefoundation/autoware-github-actions/pre-commit-autoupdate@v1 - with: - token: ${{ steps.generate-token.outputs.token }} - pre-commit-config: .pre-commit-config-optional.yaml - pr-labels: | - bot - pre-commit-optional-autoupdate - pr-branch: pre-commit-optional-autoupdate - pr-title: "ci(pre-commit-optional): autoupdate" - pr-commit-message: "ci(pre-commit-optional): autoupdate" - auto-merge-method: squash diff --git a/.github/workflows/pre-commit-optional.yaml b/.github/workflows/pre-commit-optional.yaml deleted file mode 100644 index 93e05dc2c..000000000 --- a/.github/workflows/pre-commit-optional.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: pre-commit-optional - -on: - pull_request: - -jobs: - pre-commit-optional: - runs-on: ubuntu-latest - steps: - - name: Check out repository - uses: actions/checkout@v3 - - - name: Run pre-commit - uses: autowarefoundation/autoware-github-actions/pre-commit@v1 - with: - pre-commit-config: .pre-commit-config-optional.yaml diff --git a/.github/workflows/pre-commit.yaml b/.github/workflows/pre-commit.yaml deleted file mode 100644 index bda722c87..000000000 --- a/.github/workflows/pre-commit.yaml +++ /dev/null @@ -1,32 +0,0 @@ -name: pre-commit - -on: - pull_request: - -jobs: - pre-commit: - if: ${{ github.event.repository.private }} # Use pre-commit.ci for public repositories - runs-on: ubuntu-latest - steps: - - name: Generate token - id: generate-token - uses: tibdex/github-app-token@v1 - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.PRIVATE_KEY }} - - - name: Check out repository - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.head.ref }} - - - name: Set git config - uses: autowarefoundation/autoware-github-actions/set-git-config@v1 - with: - token: ${{ steps.generate-token.outputs.token }} - - - name: Run pre-commit - uses: autowarefoundation/autoware-github-actions/pre-commit@v1 - with: - pre-commit-config: .pre-commit-config.yaml - token: ${{ steps.generate-token.outputs.token }} diff --git a/.github/workflows/semantic-pull-request.yaml b/.github/workflows/semantic-pull-request.yaml deleted file mode 100644 index 71224c224..000000000 --- a/.github/workflows/semantic-pull-request.yaml +++ /dev/null @@ -1,12 +0,0 @@ -name: semantic-pull-request - -on: - pull_request_target: - types: - - opened - - edited - - synchronize - -jobs: - semantic-pull-request: - uses: autowarefoundation/autoware-github-actions/.github/workflows/semantic-pull-request.yaml@v1 diff --git a/.github/workflows/setup-docker.yaml b/.github/workflows/setup-docker.yaml deleted file mode 100644 index 9e3fee08f..000000000 --- a/.github/workflows/setup-docker.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: setup-docker - -on: - pull_request: - -jobs: - load-env: - uses: ./.github/workflows/load-env.yaml - - setup-docker: - needs: load-env - runs-on: ubuntu-latest - container: ${{ needs.load-env.outputs.base-image }} - steps: - - name: Check out repository - uses: actions/checkout@v3 - - - name: Run setup script - run: | - ./setup-dev-env.sh -y -v docker diff --git a/.github/workflows/setup-universe.yaml b/.github/workflows/setup-universe.yaml deleted file mode 100644 index 5735967e6..000000000 --- a/.github/workflows/setup-universe.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: setup-universe - -on: - pull_request: - -jobs: - load-env: - uses: ./.github/workflows/load-env.yaml - - setup-universe: - needs: load-env - runs-on: ubuntu-latest - container: ${{ needs.load-env.outputs.base-image }} - steps: - - name: Check out repository - uses: actions/checkout@v3 - - - name: Run setup script - run: | - ./setup-dev-env.sh -y -v universe diff --git a/.github/workflows/spell-check-differential.yaml b/.github/workflows/spell-check-differential.yaml deleted file mode 100644 index eb18ccdba..000000000 --- a/.github/workflows/spell-check-differential.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: spell-check-differential - -on: - pull_request: - -jobs: - spell-check-differential: - runs-on: ubuntu-latest - steps: - - name: Check out repository - uses: actions/checkout@v3 - - - name: Run spell-check - uses: autowarefoundation/autoware-github-actions/spell-check@v1 - with: - cspell-json-url: https://raw.githubusercontent.com/tier4/autoware-spell-check-dict/main/.cspell.json diff --git a/.github/workflows/sync-files.yaml b/.github/workflows/sync-files.yaml deleted file mode 100644 index b9dc5907a..000000000 --- a/.github/workflows/sync-files.yaml +++ /dev/null @@ -1,33 +0,0 @@ -name: sync-files - -on: - schedule: - - cron: 0 0 * * * - workflow_dispatch: - -jobs: - check-secret: - uses: autowarefoundation/autoware-github-actions/.github/workflows/check-secret.yaml@v1 - secrets: - secret: ${{ secrets.APP_ID }} - - sync-files: - needs: check-secret - if: ${{ needs.check-secret.outputs.set == 'true' }} - runs-on: ubuntu-latest - steps: - - name: Generate token - id: generate-token - uses: tibdex/github-app-token@v1 - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.PRIVATE_KEY }} - - - name: Run sync-files - uses: autowarefoundation/autoware-github-actions/sync-files@v1 - with: - token: ${{ steps.generate-token.outputs.token }} - pr-labels: | - bot - sync-files - auto-merge-method: squash diff --git a/.github/workflows/update-tool-versions.yaml b/.github/workflows/update-tool-versions.yaml deleted file mode 100644 index 8c4b5875b..000000000 --- a/.github/workflows/update-tool-versions.yaml +++ /dev/null @@ -1,69 +0,0 @@ -name: update-tool-versions - -on: - schedule: - - cron: 0 0 * * * - workflow_dispatch: - -jobs: - update-tool-versions: - runs-on: ubuntu-latest - steps: - - name: Generate token - id: generate-token - uses: tibdex/github-app-token@v1 - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.PRIVATE_KEY }} - - - name: Check out repository - uses: actions/checkout@v3 - - - name: Set up sd - uses: kenji-miyake/setup-sd@v1 - - - name: Get clang-format version - id: get-clang-format-version - run: | - function get-latest-pip-version() { - pip index versions "$1" 2>/dev/null | head -n1 | sd '.*\((.*)\)' '$1' - } - - echo ::set-output name=version::$(get-latest-pip-version clang-format) - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Update clang-format version - run: | - sd '(clang_format_version): .*' '$1: ${{ steps.get-clang-format-version.outputs.version }}' ansible/roles/pre_commit/defaults/main.yaml - sd '(clang_format_version)=.*' '$1=${{ steps.get-clang-format-version.outputs.version }}' ansible/roles/pre_commit/README.md - - - name: Create PR - id: create-pr - uses: peter-evans/create-pull-request@v4 - with: - token: ${{ steps.generate-token.outputs.token }} - base: ${{ github.event.repository.default_branch }} - branch: update-tool-versions - title: "chore: update tool versions" - commit-message: "chore: update tool versions" - body: "" - labels: | - bot - update-tool-versions - signoff: true - delete-branch: true - - - name: Check outputs - run: | - echo "Pull Request Number - ${{ steps.create-pr.outputs.pull-request-number }}" - echo "Pull Request URL - ${{ steps.create-pr.outputs.pull-request-url }}" - shell: bash - - - name: Enable auto-merge - if: ${{ steps.create-pr.outputs.pull-request-operation == 'created' }} - uses: peter-evans/enable-pull-request-automerge@v2 - with: - token: ${{ steps.generate-token.outputs.token }} - pull-request-number: ${{ steps.create-pr.outputs.pull-request-number }} - merge-method: squash diff --git a/.github/workflows/vcs-import.yaml b/.github/workflows/vcs-import.yaml deleted file mode 100644 index 829c1c81e..000000000 --- a/.github/workflows/vcs-import.yaml +++ /dev/null @@ -1,47 +0,0 @@ -name: vcs-import - -on: - pull_request: - workflow_dispatch: - -jobs: - load-env: - uses: ./.github/workflows/load-env.yaml - - vcs-import: - needs: load-env - runs-on: ubuntu-latest - container: ros:${{ needs.load-env.outputs.rosdistro }} - steps: - - name: Check out repository - uses: actions/checkout@v3 - - - name: Install pip for rosdep - run: | - sudo apt-get -y update - sudo apt-get -y install python3-pip - - - name: Register AutonomouStuff repository - uses: autowarefoundation/autoware-github-actions/register-autonomoustuff-repository@v1 - with: - rosdistro: ${{ needs.load-env.outputs.rosdistro }} - - - name: Set git config - uses: autowarefoundation/autoware-github-actions/set-git-config@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Run vcs import - run: | - mkdir src - vcs import src < autoware.repos - - - name: Run vcs export - run: | - vcs export --exact src || true - - - name: Run rosdep install - run: | - sudo apt-get -y update - rosdep update - DEBIAN_FRONTEND=noninteractive rosdep install -y --from-paths src --ignore-src --rosdistro ${{ needs.load-env.outputs.rosdistro }} diff --git a/autoware.repos b/autoware.repos index 38fc2ba76..1c30532b6 100644 --- a/autoware.repos +++ b/autoware.repos @@ -23,9 +23,9 @@ repositories: # universe universe/autoware.universe: type: git - url: https://github.com/autowarefoundation/autoware.universe.git + url: https://github.com/leo-drive/avte.autoware_universe.git version: main - universe/external/tier4_ad_api_adaptor: # TODO(TIER IV): Improve design/code and transfer to AWF + universe/external/eagleye: type: git url: https://github.com/tier4/tier4_ad_api_adaptor.git version: tier4/universe diff --git a/docker/autoware-openadk/build.sh b/docker/autoware-openadk/build.sh index 1a4d30299..65b29e949 100755 --- a/docker/autoware-openadk/build.sh +++ b/docker/autoware-openadk/build.sh @@ -14,7 +14,7 @@ while [ "$1" != "" ]; do option_platform="$2" shift ;; - --devel-only) + --prebuilt-only) option_no_runtime=true ;; *) @@ -59,20 +59,19 @@ docker buildx bake --load --progress=plain -f "$SCRIPT_DIR/docker-bake.hcl" \ --set "base.tags=ghcr.io/autowarefoundation/autoware-openadk:base-$rosdistro-$platform" \ --set "devel.tags=ghcr.io/autowarefoundation/autoware-openadk:devel-$rosdistro-$platform" \ --set "prebuilt.tags=ghcr.io/autowarefoundation/autoware-openadk:prebuilt-$rosdistro-$platform" - -# Build runtime images + +# Set build targets if [ "$option_no_runtime" = "false" ]; then docker buildx bake --load --progress=plain -f "$SCRIPT_DIR/docker-bake.hcl" \ - --set "*.context=$WORKSPACE_ROOT" \ - --set "*.ssh=default" \ - --set "*.platform=$platform" \ - --set "*.args.PLATFORM=$platform" \ - --set "*.args.ROS_DISTRO=$rosdistro" \ - --set "*.args.BASE_IMAGE=$base_image" \ - --set "monolithic.tags=ghcr.io/autowarefoundation/autoware-openadk:monolithic-$rosdistro-$platform" \ - --set "main-perception.tags=ghcr.io/autowarefoundation/autoware-openadk:main-perception-$rosdistro-$platform" \ - --set "planning-control.tags=ghcr.io/autowarefoundation/autoware-openadk:planning-control-$rosdistro-$platform" \ - --set "simulator.tags=ghcr.io/autowarefoundation/autoware-openadk:simulator-$rosdistro-$platform" \ - monolithic main-perception planning-control simulator + --set "*.context=$WORKSPACE_ROOT" \ + --set "*.ssh=default" \ + --set "*.platform=$platform" \ + --set "*.args.PLATFORM=$platform" \ + --set "*.args.ROS_DISTRO=$rosdistro" \ + --set "*.args.BASE_IMAGE=$base_image" \ + --set "monolithic.tags=ghcr.io/autowarefoundation/autoware-openadk:runtime-monolithic-$rosdistro-$platform" \ + --set "main-perception.tags=ghcr.io/autowarefoundation/autoware-openadk:runtime-main-perception-$rosdistro-$platform" \ + --set "planning-control.tags=ghcr.io/autowarefoundation/autoware-openadk:runtime-before-planning-$rosdistro-$platform" \ + planning-control fi set +x \ No newline at end of file diff --git a/docker/autoware-openadk/docker-bake.hcl b/docker/autoware-openadk/docker-bake.hcl index bfd021014..50674a8b9 100644 --- a/docker/autoware-openadk/docker-bake.hcl +++ b/docker/autoware-openadk/docker-bake.hcl @@ -1,14 +1,14 @@ group "default" { - targets = ["base", "devel", "prebuilt"] + targets = ["base", "devel", "prebuilt", "runtime-planning-control"] } // For docker/metadata-action target "docker-metadata-action-base" {} target "docker-metadata-action-devel" {} target "docker-metadata-action-prebuilt" {} -target "docker-metadata-action-monolithic" {} -target "docker-metadata-action-main-perception" {} -target "docker-metadata-action-planning-control" {} +target "docker-metadata-action-runtime-monolithic" {} +target "docker-metadata-action-runtime-main-perception" {} +target "docker-metadata-action-runtime-planning-control" {} target "docker-metadata-action-simulator" {} target "base" { @@ -29,26 +29,27 @@ target "prebuilt" { target = "prebuilt" } -target "monolithic" { +target "runtime-monolithic" { inherits = ["docker-metadata-action-monolithic"] dockerfile = "docker/autoware-openadk/monolithic/Dockerfile" target = "monolithic" } -target "main-perception" { +target "runtime-main-perception" { + inherits = ["docker-metadata-action-main-perception"] dockerfile = "docker/autoware-openadk/services/main-perception/Dockerfile" target = "main-perception" } -target "planning-control" { +target "runtime-planning-control" { inherits = ["docker-metadata-action-planning-control"] dockerfile = "docker/autoware-openadk/services/planning-control/Dockerfile" target = "planning-control" } target "simulator" { - inherits = ["docker-metadata-action-simulator"] - dockerfile = "docker/autoware-openadk/services/simulator/Dockerfile" - target = "simulator" + inherits = ["docker-metadata-action-planning-control"] + dockerfile = "docker/autoware-openadk/services/planning-control/Dockerfile" + target = "planning-control" } diff --git a/docker/autoware-openadk/monolithic/Dockerfile b/docker/autoware-openadk/monolithic/Dockerfile index a1d622594..218be5d5e 100644 --- a/docker/autoware-openadk/monolithic/Dockerfile +++ b/docker/autoware-openadk/monolithic/Dockerfile @@ -21,6 +21,8 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && mkdir src \ && vcs import src < autoware.repos \ + && vcs import src < simulator.repos \ + && apt-get update \ && rosdep update \ && DEBIAN_FRONTEND=noninteractive rosdep install -y --ignore-src --from-paths src --rosdistro "$ROS_DISTRO" \ && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* "$HOME"/.cache \ diff --git a/docker/autoware-openadk/services/main-perception/Dockerfile b/docker/autoware-openadk/services/main-perception/Dockerfile index a00ff52a5..fc7e2afec 100644 --- a/docker/autoware-openadk/services/main-perception/Dockerfile +++ b/docker/autoware-openadk/services/main-perception/Dockerfile @@ -20,6 +20,7 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && mkdir src \ && vcs import src < autoware.repos \ + && apt-get update \ && rosdep update \ && DEBIAN_FRONTEND=noninteractive rosdep install -y --rosdistro "$ROS_DISTRO" --ignore-src --from-paths src \ # Remove unnecessary files diff --git a/docker/autoware-openadk/services/planning-control/Dockerfile b/docker/autoware-openadk/services/planning-control/Dockerfile index deba5d47f..4f086346d 100644 --- a/docker/autoware-openadk/services/planning-control/Dockerfile +++ b/docker/autoware-openadk/services/planning-control/Dockerfile @@ -20,6 +20,7 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && mkdir src \ && vcs import src < autoware.repos \ + && apt-get update \ && rosdep update \ && DEBIAN_FRONTEND=noninteractive rosdep install -y --rosdistro "$ROS_DISTRO" --ignore-src --from-paths src \ # Remove unnecessary files