From 60e0ce1092cc7dda623c061ab34e25a298500c50 Mon Sep 17 00:00:00 2001 From: Scott Todd Date: Thu, 19 Sep 2024 15:07:30 -0700 Subject: [PATCH 1/4] Migrate ci_linux_arm64_clang to new dockerfile. --- .github/workflows/ci_linux_arm64_clang.yml | 31 ++++++++++++---------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci_linux_arm64_clang.yml b/.github/workflows/ci_linux_arm64_clang.yml index 37722792f3fc..814202f398fa 100644 --- a/.github/workflows/ci_linux_arm64_clang.yml +++ b/.github/workflows/ci_linux_arm64_clang.yml @@ -7,6 +7,9 @@ name: CI - Linux arm64 clang on: + pull_request: + paths: + - ".github/workflows/ci_linux_arm64_clang.yml" schedule: # Weekday mornings at 09:15 UTC = 01:15 PST (UTC - 8). - cron: "15 9 * * 1-5" @@ -34,6 +37,10 @@ jobs: - environment=${{ needs.setup.outputs.runner-env }} - arm64 - os-family=Linux + container: ghcr.io/iree-org/cpubuilder_ubuntu_jammy@sha256:48654cf56d6ec28788ea35d80b0546b1ef57281d7998dbe94b78fd4a5f2d33f0 + defaults: + run: + shell: bash env: BUILD_DIR: build-arm64 steps: @@ -41,22 +48,18 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: submodules: true + - name: Set up QEMU + uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0 + - name: Install Python requirements + run: python3 -m pip install -r ./runtime/bindings/python/iree/runtime/build_requirements.txt - name: "Building IREE" env: IREE_WRITE_REMOTE_CCACHE: ${{ needs.setup.outputs.write-caches }} + CCACHE_NAMESPACE: ci_linux_arm64_clang run: | - ./build_tools/github_actions/docker_run.sh \ - --env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \ - --env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \ - --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base-arm64@sha256:9daa1cdbbf12da8527319ece76a64d06219e04ecb99a4cff6e6364235ddf6c59" \ - --env "IREE_BUILD_SETUP_PYTHON_VENV=${BUILD_DIR}/.venv" \ - gcr.io/iree-oss/base-arm64@sha256:9daa1cdbbf12da8527319ece76a64d06219e04ecb99a4cff6e6364235ddf6c59 \ - ./build_tools/cmake/build_all.sh \ - "${BUILD_DIR}" + export IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" + ./build_tools/cmake/build_all.sh "${BUILD_DIR}" - name: "Testing IREE" - run: | - ./build_tools/github_actions/docker_run.sh \ - --env "IREE_ARM_SME_QEMU_AARCH64_BIN=/usr/bin/qemu-aarch64" \ - gcr.io/iree-oss/base-arm64@sha256:9daa1cdbbf12da8527319ece76a64d06219e04ecb99a4cff6e6364235ddf6c59 \ - ./build_tools/cmake/ctest_all.sh \ - "${BUILD_DIR}" + env: + IREE_ARM_SME_QEMU_AARCH64_BIN: /usr/bin/qemu-aarch64 + run: ./build_tools/cmake/ctest_all.sh "${BUILD_DIR}" From 516dc3a04382664f5bbe77a8b4ff17ee193bbb6e Mon Sep 17 00:00:00 2001 From: Scott Todd Date: Thu, 19 Sep 2024 15:14:24 -0700 Subject: [PATCH 2/4] Download qemu from Azure (could move this back into the Dockerfile). --- .github/workflows/ci_linux_arm64_clang.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_linux_arm64_clang.yml b/.github/workflows/ci_linux_arm64_clang.yml index 814202f398fa..b48d0250fc03 100644 --- a/.github/workflows/ci_linux_arm64_clang.yml +++ b/.github/workflows/ci_linux_arm64_clang.yml @@ -49,7 +49,10 @@ jobs: with: submodules: true - name: Set up QEMU - uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0 + run: | + wget --no-verbose "https://sharkpublic.blob.core.windows.net/sharkpublic/GCP-Migration-Files/qemu-aarch64" + chmod +x ./qemu-aarch64 + cp ./qemu-aarch64 /usr/bin/qemu-aarch64 - name: Install Python requirements run: python3 -m pip install -r ./runtime/bindings/python/iree/runtime/build_requirements.txt - name: "Building IREE" From a9a4b4a5e1bc950a79e72d68fb20a47afaacd46e Mon Sep 17 00:00:00 2001 From: Scott Todd Date: Thu, 19 Sep 2024 15:19:57 -0700 Subject: [PATCH 3/4] Fix trailing quote. --- .github/workflows/ci_linux_arm64_clang.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_linux_arm64_clang.yml b/.github/workflows/ci_linux_arm64_clang.yml index b48d0250fc03..0acb57ce99c5 100644 --- a/.github/workflows/ci_linux_arm64_clang.yml +++ b/.github/workflows/ci_linux_arm64_clang.yml @@ -60,7 +60,7 @@ jobs: IREE_WRITE_REMOTE_CCACHE: ${{ needs.setup.outputs.write-caches }} CCACHE_NAMESPACE: ci_linux_arm64_clang run: | - export IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" + export IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token) ./build_tools/cmake/build_all.sh "${BUILD_DIR}" - name: "Testing IREE" env: From 1429c71430759c1f1a04e773d7e610c32ea44e42 Mon Sep 17 00:00:00 2001 From: Scott Todd Date: Fri, 20 Sep 2024 08:22:39 -0700 Subject: [PATCH 4/4] Switch back to using docker_run.sh, use new container image. --- .github/workflows/ci_linux_arm64_clang.yml | 31 ++++++++++------------ 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci_linux_arm64_clang.yml b/.github/workflows/ci_linux_arm64_clang.yml index 0acb57ce99c5..3ca626a51ea1 100644 --- a/.github/workflows/ci_linux_arm64_clang.yml +++ b/.github/workflows/ci_linux_arm64_clang.yml @@ -37,10 +37,6 @@ jobs: - environment=${{ needs.setup.outputs.runner-env }} - arm64 - os-family=Linux - container: ghcr.io/iree-org/cpubuilder_ubuntu_jammy@sha256:48654cf56d6ec28788ea35d80b0546b1ef57281d7998dbe94b78fd4a5f2d33f0 - defaults: - run: - shell: bash env: BUILD_DIR: build-arm64 steps: @@ -48,21 +44,22 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: submodules: true - - name: Set up QEMU - run: | - wget --no-verbose "https://sharkpublic.blob.core.windows.net/sharkpublic/GCP-Migration-Files/qemu-aarch64" - chmod +x ./qemu-aarch64 - cp ./qemu-aarch64 /usr/bin/qemu-aarch64 - - name: Install Python requirements - run: python3 -m pip install -r ./runtime/bindings/python/iree/runtime/build_requirements.txt - name: "Building IREE" env: IREE_WRITE_REMOTE_CCACHE: ${{ needs.setup.outputs.write-caches }} - CCACHE_NAMESPACE: ci_linux_arm64_clang run: | - export IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token) - ./build_tools/cmake/build_all.sh "${BUILD_DIR}" + ./build_tools/github_actions/docker_run.sh \ + --env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \ + --env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \ + --env "CCACHE_NAMESPACE=ci_linux_arm64_clang" \ + --env "IREE_BUILD_SETUP_PYTHON_VENV=${BUILD_DIR}/.venv" \ + ghcr.io/iree-org/cpubuilder_ubuntu_jammy@sha256:af7f082731b8947b91975a825d212855038e310328c0bdb1c8202a6693d1fa77 \ + ./build_tools/cmake/build_all.sh \ + "${BUILD_DIR}" - name: "Testing IREE" - env: - IREE_ARM_SME_QEMU_AARCH64_BIN: /usr/bin/qemu-aarch64 - run: ./build_tools/cmake/ctest_all.sh "${BUILD_DIR}" + run: | + ./build_tools/github_actions/docker_run.sh \ + --env "IREE_ARM_SME_QEMU_AARCH64_BIN=/usr/bin/qemu-aarch64" \ + ghcr.io/iree-org/cpubuilder_ubuntu_jammy@sha256:af7f082731b8947b91975a825d212855038e310328c0bdb1c8202a6693d1fa77 \ + ./build_tools/cmake/ctest_all.sh \ + "${BUILD_DIR}"