Skip to content

Commit 80be52b

Browse files
authored
Move 'gcc', 'byo_llvm', and 'debug' jobs to their own workflows. (#17981)
Progress on #17957 - bringing back jobs that were disabled, with changes to the `runs-on` and triggering. For now these are the configurations: * `gcc` runs on a nightly `schedule` on standard GitHub-hosted runners, taking ~3h30m * `byo_llvm` runs on a nightly `schedule` on standard GitHub-hosted runners, taking ~3h20m * `debug` runs on a nightly `schedule` on self-hosted runners, taking ~20m * This build runs out of disk space for standard GitHub-hosted runners We can adjust the triggers over time, such as by adding ways to trigger with labels / git trailers, or by triggering on `pull_request` when file paths like `third_party/llvm-project` are changed. skip-ci: adding new workflows
1 parent 52eff2d commit 80be52b

File tree

4 files changed

+149
-94
lines changed

4 files changed

+149
-94
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -456,40 +456,6 @@ jobs:
456456
./build_tools/cmake/ctest_all.sh \
457457
"${BUILD_DIR}"
458458
459-
# Disabled to reduce self-hosted runners needed. See #17957
460-
# gcc:
461-
# needs: setup
462-
# if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'gcc')
463-
# runs-on:
464-
# - self-hosted # must come first
465-
# - runner-group=${{ needs.setup.outputs.runner-group }}
466-
# - environment=${{ needs.setup.outputs.runner-env }}
467-
# - cpu
468-
# - os-family=Linux
469-
# env:
470-
# BUILD_DIR: build-gcc
471-
# steps:
472-
# - name: "Checking out repository"
473-
# uses: actions/checkout@v4.1.7
474-
# with:
475-
# submodules: true
476-
# - name: "Building IREE with gcc"
477-
# env:
478-
# IREE_WRITE_REMOTE_CCACHE: ${{ needs.setup.outputs.write-caches }}
479-
# run: |
480-
# ./build_tools/github_actions/docker_run.sh \
481-
# --env CC=/usr/bin/gcc-9 \
482-
# --env CXX=/usr/bin/g++-9 \
483-
# --env CMAKE_BUILD_TYPE=Release \
484-
# --env "IREE_TARGET_BACKEND_WEBGPU_SPIRV=OFF" \
485-
# --env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \
486-
# --env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \
487-
# --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446" \
488-
# --env "IREE_BUILD_SETUP_PYTHON_VENV=${BUILD_DIR}/.venv" \
489-
# gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446 \
490-
# ./build_tools/cmake/build_all.sh \
491-
# "${BUILD_DIR}"
492-
493459
tracing:
494460
needs: setup
495461
if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'tracing')
@@ -516,63 +482,6 @@ jobs:
516482
./build_tools/cmake/build_runtime_tracing.sh \
517483
"${BUILD_DIR}"
518484
519-
# Disabled to reduce self-hosted runners needed. See #17957
520-
# debug:
521-
# needs: setup
522-
# if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'debug')
523-
# runs-on:
524-
# - self-hosted # must come first
525-
# - runner-group=${{ needs.setup.outputs.runner-group }}
526-
# - environment=${{ needs.setup.outputs.runner-env }}
527-
# - cpu
528-
# - os-family=Linux
529-
# env:
530-
# BUILD_DIR: build-debug
531-
# steps:
532-
# - name: "Checking out repository"
533-
# uses: actions/checkout@v4.1.7
534-
# with:
535-
# submodules: true
536-
# - name: "Building IREE in Debug configuration"
537-
# env:
538-
# IREE_WRITE_REMOTE_CCACHE: ${{ needs.setup.outputs.write-caches }}
539-
# run: |
540-
# ./build_tools/github_actions/docker_run.sh \
541-
# --env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \
542-
# --env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \
543-
# --env "CMAKE_BUILD_TYPE=Debug" \
544-
# --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446" \
545-
# --env "IREE_BUILD_SETUP_PYTHON_VENV=${BUILD_DIR}/.venv" \
546-
# gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446 \
547-
# ./build_tools/cmake/build_all.sh \
548-
# "${BUILD_DIR}"
549-
550-
# Disabled to reduce self-hosted runners needed. See #17957
551-
# byo_llvm:
552-
# needs: setup
553-
# if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'byo_llvm')
554-
# runs-on:
555-
# - self-hosted # must come first
556-
# - runner-group=${{ needs.setup.outputs.runner-group }}
557-
# - environment=${{ needs.setup.outputs.runner-env }}
558-
# - cpu
559-
# - os-family=Linux
560-
# steps:
561-
# - name: "Checking out repository"
562-
# uses: actions/checkout@v4.1.7
563-
# with:
564-
# submodules: true
565-
# - name: "Building and testing with bring-your-own-LLVM"
566-
# env:
567-
# IREE_WRITE_REMOTE_CCACHE: ${{ needs.setup.outputs.write-caches }}
568-
# run: |
569-
# ./build_tools/github_actions/docker_run.sh \
570-
# --env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \
571-
# --env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \
572-
# --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446" \
573-
# gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446 \
574-
# ./build_tools/cmake/build_and_test_byo_llvm.sh
575-
576485
############################## Crosscompilation ##############################
577486
# Jobs that cross-compile IREE for other platforms
578487
##############################################################################
@@ -706,10 +615,7 @@ jobs:
706615
# Configurations
707616
- build_test_runtime
708617
- small_runtime
709-
# - gcc
710618
- tracing
711-
# - debug
712-
# - byo_llvm
713619

714620
# Crosscompilation
715621
# - cross_compile_and_test
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Copyright 2024 The IREE Authors
2+
#
3+
# Licensed under the Apache License v2.0 with LLVM Exceptions.
4+
# See https://llvm.org/LICENSE.txt for license information.
5+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
7+
name: CI - Linux x64 clang BYO LLVM
8+
9+
on:
10+
pull_request:
11+
branches:
12+
- main
13+
paths:
14+
- ".github/workflows/ci_linux_x64_clang_byollvm.yml"
15+
schedule:
16+
# Weekday mornings at 09:15 UTC = 01:15 PST (UTC - 8).
17+
- cron: "15 9 * * 1-5"
18+
workflow_dispatch:
19+
20+
concurrency:
21+
# A PR number if a pull request and otherwise the commit hash. This cancels
22+
# queued and in-progress runs for the same PR (presubmit) or commit
23+
# (postsubmit). The workflow name is prepended to avoid conflicts between
24+
# different workflows.
25+
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
26+
cancel-in-progress: true
27+
28+
jobs:
29+
linux_x64_clang_byollvm:
30+
runs-on: ubuntu-20.04
31+
steps:
32+
- name: "Checking out repository"
33+
uses: actions/checkout@v4.1.7
34+
with:
35+
submodules: true
36+
- name: "Building and testing with bring-your-own-LLVM"
37+
run: |
38+
./build_tools/github_actions/docker_run.sh \
39+
gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446 \
40+
./build_tools/cmake/build_and_test_byo_llvm.sh
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Copyright 2024 The IREE Authors
2+
#
3+
# Licensed under the Apache License v2.0 with LLVM Exceptions.
4+
# See https://llvm.org/LICENSE.txt for license information.
5+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
7+
name: CI - Linux x64 clang debug
8+
9+
on:
10+
pull_request:
11+
branches:
12+
- main
13+
paths:
14+
- ".github/workflows/ci_linux_x64_clang_debug.yml"
15+
schedule:
16+
# Weekday mornings at 09:15 UTC = 01:15 PST (UTC - 8).
17+
- cron: "15 9 * * 1-5"
18+
workflow_dispatch:
19+
20+
concurrency:
21+
# A PR number if a pull request and otherwise the commit hash. This cancels
22+
# queued and in-progress runs for the same PR (presubmit) or commit
23+
# (postsubmit). The workflow name is prepended to avoid conflicts between
24+
# different workflows.
25+
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
26+
cancel-in-progress: true
27+
28+
jobs:
29+
setup:
30+
uses: ./.github/workflows/setup.yml
31+
32+
# This may run out of memory / disk space on standard GitHub-hosted runners,
33+
# so run on self-hosted CPU build runners instead.
34+
linux_x64_clang_debug:
35+
needs: setup
36+
runs-on:
37+
- self-hosted # must come first
38+
- runner-group=${{ needs.setup.outputs.runner-group }}
39+
- environment=${{ needs.setup.outputs.runner-env }}
40+
- cpu
41+
- os-family=Linux
42+
env:
43+
BUILD_DIR: build-debug
44+
steps:
45+
- name: "Checking out repository"
46+
uses: actions/checkout@v4.1.7
47+
with:
48+
submodules: true
49+
- name: "Building IREE in Debug configuration"
50+
env:
51+
IREE_WRITE_REMOTE_CCACHE: ${{ needs.setup.outputs.write-caches }}
52+
run: |
53+
./build_tools/github_actions/docker_run.sh \
54+
--env "IREE_CCACHE_GCP_TOKEN=$(gcloud auth application-default print-access-token)" \
55+
--env "IREE_WRITE_REMOTE_CCACHE=${IREE_WRITE_REMOTE_CCACHE}" \
56+
--env "CMAKE_BUILD_TYPE=Debug" \
57+
--env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446" \
58+
--env "IREE_BUILD_SETUP_PYTHON_VENV=${BUILD_DIR}/.venv" \
59+
gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446 \
60+
./build_tools/cmake/build_all.sh \
61+
"${BUILD_DIR}"
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Copyright 2024 The IREE Authors
2+
#
3+
# Licensed under the Apache License v2.0 with LLVM Exceptions.
4+
# See https://llvm.org/LICENSE.txt for license information.
5+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
7+
name: CI - Linux x64 gcc
8+
9+
on:
10+
pull_request:
11+
branches:
12+
- main
13+
paths:
14+
- ".github/workflows/ci_linux_x64_gcc.yml"
15+
schedule:
16+
# Weekday mornings at 09:15 UTC = 01:15 PST (UTC - 8).
17+
- cron: "15 9 * * 1-5"
18+
workflow_dispatch:
19+
20+
concurrency:
21+
# A PR number if a pull request and otherwise the commit hash. This cancels
22+
# queued and in-progress runs for the same PR (presubmit) or commit
23+
# (postsubmit). The workflow name is prepended to avoid conflicts between
24+
# different workflows.
25+
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
26+
cancel-in-progress: true
27+
28+
jobs:
29+
linux_x64_gcc:
30+
runs-on: ubuntu-20.04
31+
env:
32+
BUILD_DIR: build-gcc
33+
steps:
34+
- name: "Checking out repository"
35+
uses: actions/checkout@v4.1.7
36+
with:
37+
submodules: true
38+
- name: "Building IREE with gcc"
39+
run: |
40+
./build_tools/github_actions/docker_run.sh \
41+
--env CC=/usr/bin/gcc-9 \
42+
--env CXX=/usr/bin/g++-9 \
43+
--env CMAKE_BUILD_TYPE=Release \
44+
--env "IREE_TARGET_BACKEND_WEBGPU_SPIRV=OFF" \
45+
--env "IREE_BUILD_SETUP_PYTHON_VENV=${BUILD_DIR}/.venv" \
46+
gcr.io/iree-oss/base@sha256:dc314b4fe30fc1315742512891357bffed4d1b62ffcb46258b1e0761c737b446 \
47+
./build_tools/cmake/build_all.sh \
48+
"${BUILD_DIR}"

0 commit comments

Comments
 (0)