Skip to content

Commit e3cd736

Browse files
committed
ci: Selectively check out submodules
Check out only the needed submodules in each job to reduce unnecessary network load and job preparation time. This is especially important now since large host tool components, such as QEMU, are added as submodules. Signed-off-by: Stephanos Ioannidis <[email protected]>
1 parent b42d97f commit e3cd736

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

.github/workflows/ci.yml

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -567,17 +567,30 @@ jobs:
567567
if: ${{ github.event_name != 'pull_request_target' }}
568568
uses: actions/checkout@v4
569569
with:
570-
submodules: recursive
571570
persist-credentials: false
572571

573572
- name: Check out source code (pull request)
574573
if: ${{ github.event_name == 'pull_request_target' }}
575574
uses: actions/checkout@v4
576575
with:
577576
ref: ${{ github.event.pull_request.head.sha }}
578-
submodules: recursive
579577
persist-credentials: false
580578

579+
- name: Check out submodules
580+
run: |
581+
git config --global --add safe.directory '*'
582+
git submodule init
583+
git submodule update --depth=1 --recursive crosskit/crosskit-x86_64-apple-darwin
584+
git submodule update --depth=1 --recursive crosskit/crosskit-x86_64-darwin-libpython
585+
git submodule update --depth=1 --recursive crosskit/crosskit-mingw-w64-libpython
586+
git submodule update --depth=1 --recursive crosstool-ng
587+
git submodule update --depth=1 --recursive binutils
588+
git submodule update --depth=1 --recursive binutils_arc
589+
git submodule update --depth=1 --recursive gdb
590+
git submodule update --depth=1 --recursive gcc
591+
git submodule update --depth=1 --recursive gcc_arc
592+
git submodule update --depth=1 --recursive picolibc
593+
581594
- name: Build crosstool-ng
582595
run: |
583596
# Configure macOS build environment
@@ -885,17 +898,22 @@ jobs:
885898
if: ${{ github.event_name != 'pull_request_target' }}
886899
uses: actions/checkout@v4
887900
with:
888-
submodules: recursive
889901
persist-credentials: false
890902

891903
- name: Check out source code (pull request)
892904
if: ${{ github.event_name == 'pull_request_target' }}
893905
uses: actions/checkout@v4
894906
with:
895907
ref: ${{ github.event.pull_request.head.sha }}
896-
submodules: recursive
897908
persist-credentials: false
898909

910+
- name: Check out submodules
911+
run: |
912+
git config --global --add safe.directory '*'
913+
git submodule init
914+
git submodule update --depth=1 --recursive llvm
915+
git submodule update --depth=1 --recursive picolibc
916+
899917
- name: Setup debug session (pre)
900918
if: always() && needs.setup.outputs.debug == 'toolchain-pre'
901919
uses: mxschmitt/action-tmate@v3
@@ -1021,17 +1039,23 @@ jobs:
10211039
if: ${{ github.event_name != 'pull_request_target' }}
10221040
uses: actions/checkout@v4
10231041
with:
1024-
submodules: recursive
10251042
persist-credentials: false
10261043

10271044
- name: Check out source code (pull request)
10281045
if: ${{ github.event_name == 'pull_request_target' }}
10291046
uses: actions/checkout@v4
10301047
with:
10311048
ref: ${{ github.event.pull_request.head.sha }}
1032-
submodules: recursive
10331049
persist-credentials: false
10341050

1051+
- name: Check out submodules
1052+
run: |
1053+
git config --global --add safe.directory '*'
1054+
git submodule init
1055+
git submodule update --depth=1 --recursive qemu
1056+
git submodule update --depth=1 --recursive qemu_arc
1057+
git submodule update --depth=1 --recursive qemu_xilinx
1058+
10351059
- name: Configure AWS Credentials
10361060
uses: aws-actions/configure-aws-credentials@v4
10371061
with:

0 commit comments

Comments
 (0)