|
22 | 22 | - OP13S_oos16 |
23 | 23 | - OP13T_oos16 |
24 | 24 | - OP12_oos16 |
| 25 | + - OP12-6.1.118_oos16 |
25 | 26 | - OP12r_oos16 |
| 27 | + - OP12r-5.15.167_oos16 |
26 | 28 | - OP11_oos16 |
| 29 | + - OP11-5.15.167_oos16 |
27 | 30 | - OP11r_oos16 |
28 | 31 | - OP10pro_oos16 |
29 | 32 | - OP-TURBO-6V_oos16 |
30 | 33 | - OP-TURBO-6_oos16 |
31 | 34 | - OP-ACE-6T_oos16 |
32 | 35 | - OP-ACE-6_oos16 |
| 36 | + - OP-ACE-6-ULTRA_oos16 |
33 | 37 | - OP-ACE-5-PRO_oos16 |
34 | 38 | - OP-ACE-5_oos16 |
| 39 | + - OP-ACE-5-6.1.118_oos16 |
35 | 40 | - OP-ACE-5-ULTRA_oos16 |
36 | 41 | - OP-ACE-5-RACE_oos16 |
37 | 42 | - OP-ACE-3-PRO_oos16 |
38 | 43 | - OP-ACE-3V_oos16 |
| 44 | + - OP-ACE-3V-6.1.118_oos16 |
39 | 45 | - OP-ACE-3_oos16 |
| 46 | + - OP-ACE-3-5.15.167_oos16 |
40 | 47 | - OP-ACE-2-PRO_oos16 |
41 | 48 | - OP-ACE-2V_oos16 |
42 | 49 | - OP-ACE-2_oos16 |
43 | 50 | - OP-NORD-6_oos16 |
44 | 51 | - OP-NORD-5_oos16 |
| 52 | + - OP-NORD-5-6.1.118_oos16 |
45 | 53 | - OP-NORD-CE-5_oos16 |
46 | 54 | - OP-NORD-4_oos16 |
| 55 | + - OP-NORD-4-6.1.118_oos16 |
47 | 56 | - OP-NORD-4-CE_oos16 |
48 | 57 | - OP-NORD-CE4-LITE_oos16 |
49 | 58 | - OP-PAD-4_oos16 |
|
57 | 66 | - OP-PAD-MT6983_oos16 |
58 | 67 | - OP-PAD-LITE_oos16 |
59 | 68 | - OP-OPEN_oos16 |
| 69 | + - OP-OPEN-5.15.167_oos16 |
60 | 70 | - OP-PAD-GO-2_oos16 |
61 | 71 | # OOS15 |
62 | 72 | - OP13-CPH_oos15 |
| 73 | + - OP13-CPH-6.6.56_oos15 |
63 | 74 | - OP13-PJZ_oos15 |
| 75 | + - OP13-6.6.30_oos15 |
64 | 76 | - OP13r_oos15 |
| 77 | + - OP13r-6.1.75_oos15 |
65 | 78 | - OP13S_oos15 |
66 | 79 | - OP13T_oos15 |
| 80 | + - OP13T-6.6.56_oos15 |
67 | 81 | - OP12_oos15 |
| 82 | + - OP12-6.1.75_oos15 |
68 | 83 | - OP12r_oos15 |
| 84 | + - OP12r-5.15.149_oos15 |
69 | 85 | - OP11_oos15 |
| 86 | + - OP11-5.15.149_oos15 |
70 | 87 | - OP11r_oos15 |
| 88 | + - OP11r-5.10.209_oos15 |
71 | 89 | - OP10t_oos15 |
| 90 | + - OP10t-5.10.226_oos15 |
| 91 | + - OP10t-5.10.209_oos15 |
72 | 92 | - OP10pro_oos15 |
| 93 | + - OP10pro-5.10.209_oos15 |
73 | 94 | - OP10r_oos15 |
74 | 95 | - OP-ACE-5-PRO_oos15 |
| 96 | + - OP-ACE-5-PRO-6.6.30_oos15 |
75 | 97 | - OP-ACE-5_oos15 |
| 98 | + - OP-ACE-5-6.1.75_oos15 |
76 | 99 | - OP-ACE-5-ULTRA_oos15 |
| 100 | + - OP-ACE-5-ULTRA-6.6.50_oos15 |
77 | 101 | - OP-ACE-5-RACE_oos15 |
78 | 102 | - OP-ACE-3-PRO_oos15 |
| 103 | + - OP-ACE-3-PRO-6.1.75_oos15 |
79 | 104 | - OP-ACE-3V_oos15 |
| 105 | + - OP-ACE-3V-6.1.75_oos15 |
80 | 106 | - OP-ACE-3_oos15 |
| 107 | + - OP-ACE-3-5.15.149_oos15 |
81 | 108 | - OP-ACE-2-PRO_oos15 |
| 109 | + - OP-ACE-2-PRO-5.15.149_oos15 |
82 | 110 | - OP-ACE-2V_oos15 |
| 111 | + - OP-ACE-2V-5.10.209_oos15 |
83 | 112 | - OP-ACE-2_oos15 |
| 113 | + - OP-ACE-2-5.10.209_oos15 |
84 | 114 | - OP-ACE-RACE_oos15 |
| 115 | + - OP-ACE-RACE-5.10.226_oos15 |
| 116 | + - OP-ACE-RACE-5.10.209_oos15 |
85 | 117 | - OP-ACE_oos15 |
| 118 | + - OP-ACE-5.10.209_oos15 |
86 | 119 | - OP-NORD-5_oos15 |
87 | 120 | - OP-NORD-CE-5_oos15 |
88 | 121 | - OP-NORD-4_oos15 |
| 122 | + - OP-NORD-4-6.1.75_oos15 |
89 | 123 | - OP-NORD-4-CE_oos15 |
| 124 | + - OP-NORD-4-CE-5.15.167_oos15 |
| 125 | + - OP-NORD-4-CE-5.15.149_oos15 |
90 | 126 | - OP-NORD-CE4-LITE_oos15 |
91 | 127 | - OP-NORD-3_oos15 |
| 128 | + - OP-NORD-3-5.10.209_oos15 |
92 | 129 | - OP-NORD-N30-SE_oos15 |
93 | 130 | - OP-PAD-3-SM8750_oos15 |
| 131 | + - OP-PAD-3-SM8750-6.6.30_oos15 |
94 | 132 | - OP-PAD-3-MT6897_oos15 |
| 133 | + - OP-PAD-3-MT6897-6.1.75_oos15 |
95 | 134 | - OP-PAD-2-PRO_oos15 |
| 135 | + - OP-PAD-2-PRO-6.6.30_oos15 |
96 | 136 | - OP-PAD-2-SM8650_oos15 |
| 137 | + - OP-PAD-2-SM8650-6.1.75_oos15 |
97 | 138 | - OP-PAD-PRO_oos15 |
| 139 | + - OP-PAD-PRO-6.1.75_oos15 |
98 | 140 | - OP-PAD-MT6983_oos15 |
| 141 | + - OP-PAD-MT6983-5.10.209_oos15 |
99 | 142 | - OP-PAD-LITE_oos15 |
100 | 143 | - OP-OPEN_oos15 |
| 144 | + - OP-OPEN-5.15.149_oos15 |
101 | 145 | # OOS14 |
102 | 146 | - OP12_oos14 |
103 | 147 | - OP11_oos14 |
@@ -445,9 +489,46 @@ jobs: |
445 | 489 | uses: ./.github/workflows/mirror-toolchains.yml |
446 | 490 | secrets: inherit |
447 | 491 |
|
| 492 | + prepare_ccache: |
| 493 | + name: Prepare ccache binary (download once) |
| 494 | + runs-on: ubuntu-latest |
| 495 | + steps: |
| 496 | + # Download the custom ccache binary ONCE for the whole matrix and share it as |
| 497 | + # an artifact. Previously every parallel matrix job curl'd the same GitHub raw |
| 498 | + # URL simultaneously, which made GitHub's edge rate-limit / 504 the CI IPs and |
| 499 | + # fail the whole build (the URL is fine in a browser -- it's the ~30x parallel |
| 500 | + # hammering that triggers the throttle). |
| 501 | + - name: Download custom ccache once |
| 502 | + run: | |
| 503 | + set -uo pipefail |
| 504 | + echo "::group::Download ccache" |
| 505 | + url="https://raw.githubusercontent.com/WildKernels/kernel_patches/refs/heads/main/ccache/ccache-x86-64" |
| 506 | + ok=0 |
| 507 | + for attempt in 1 2 3 4 5 6; do |
| 508 | + if curl -LfsS --connect-timeout 30 --max-time 120 -H "User-Agent: Mozilla/5.0" "$url" -o ccache && [ -s ccache ]; then |
| 509 | + ok=1; break |
| 510 | + fi |
| 511 | + echo "attempt $attempt failed (GitHub raw 504/throttle); backing off..." |
| 512 | + sleep $(( attempt * 5 + RANDOM % 6 )) |
| 513 | + done |
| 514 | + if [ "$ok" = 1 ]; then |
| 515 | + echo "✅ downloaded ccache once for all matrix jobs" |
| 516 | + else |
| 517 | + echo "::warning::custom ccache download failed; matrix jobs will fall back to the apt ccache" |
| 518 | + rm -f ccache |
| 519 | + fi |
| 520 | + echo "::endgroup::" |
| 521 | + - name: Upload ccache artifact |
| 522 | + uses: actions/upload-artifact@v7 |
| 523 | + with: |
| 524 | + name: ccache-binary |
| 525 | + path: ccache |
| 526 | + retention-days: 1 |
| 527 | + if-no-files-found: warn |
| 528 | + |
448 | 529 | build: |
449 | 530 | name: build (${{ matrix.model }}, ${{ matrix.soc }}, ${{ matrix.branch }}, ${{ matrix.manifest }}, ${{ matrix.android_version }}, ${{ matrix.kernel_version }}, ${{ matrix.os_version }}, ${{ matrix.ksu_type }}) |
450 | | - needs: [set-op-model, mirror_toolchain] |
| 531 | + needs: [set-op-model, mirror_toolchain, prepare_ccache] |
451 | 532 | if: | |
452 | 533 | !cancelled() && |
453 | 534 | needs.set-op-model.result == 'success' && |
@@ -477,17 +558,28 @@ jobs: |
477 | 558 | echo "✅ Dependencies installed" |
478 | 559 | echo "::endgroup::" |
479 | 560 |
|
480 | | - - name: Install ccache with ECS by cctv18 |
481 | | - run: | |
482 | | - # Install ccache with ECS by cctv18 |
483 | | - set -euo pipefail |
484 | | - echo "::group::Install ccache with ECS" |
485 | | - curl -LfsS --retry 5 --retry-delay 5 --retry-all-errors --connect-timeout 30 --tcp-fastopen -H "User-Agent: Mozilla/5.0" "https://github.com/WildKernels/kernel_patches/raw/refs/heads/main/ccache/ccache-x86-64" -o ccache |
486 | | - sudo cp -f ./ccache /usr/bin/ccache |
487 | | - sudo chmod +x /usr/bin/ccache |
488 | | - rm -f ./ccache |
| 561 | + - name: Get prebuilt ccache (downloaded once by prepare_ccache) |
| 562 | + uses: actions/download-artifact@v8 |
| 563 | + with: |
| 564 | + name: ccache-binary |
| 565 | + path: ccache-dl |
| 566 | + continue-on-error: true |
489 | 567 |
|
490 | | - echo "[DEBUG] Ccache version : $(ccache --version)" |
| 568 | + - name: Install ccache (ECS by cctv18, shared via artifact) |
| 569 | + run: | |
| 570 | + set -uo pipefail |
| 571 | + echo "::group::Install ccache" |
| 572 | + if [ -s ccache-dl/ccache ]; then |
| 573 | + sudo cp -f ccache-dl/ccache /usr/bin/ccache |
| 574 | + sudo chmod +x /usr/bin/ccache |
| 575 | + echo "✅ installed custom ccache from shared artifact" |
| 576 | + else |
| 577 | + # prepare_ccache could not fetch it (504/throttle); keep the apt ccache |
| 578 | + # already installed in 'Install Minimal Dependencies'. |
| 579 | + echo "::warning::shared ccache artifact unavailable; using apt ccache" |
| 580 | + fi |
| 581 | + rm -rf ccache-dl |
| 582 | + echo "[DEBUG] Ccache version : $(ccache --version | head -1)" |
491 | 583 | echo "::endgroup::" |
492 | 584 |
|
493 | 585 | - name: ♻️ Configure ccache & LTO cache (bounded) |
|
0 commit comments