Skip to content

Commit ed1318f

Browse files
gerekonAlexey Gerenkov
authored andcommitted
esp/ci: Use special cache key for builds on 'esp_main'
1 parent 682c836 commit ed1318f

1 file changed

Lines changed: 46 additions & 28 deletions

File tree

.gitlab-ci.yml

Lines changed: 46 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ workflow:
4040
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
4141
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "rebase_on_main"'
4242
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "esp_branch_sync"'
43-
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $SCHED_REBASE_BR'
43+
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $ESP_MAIN_BRANCH'
4444

4545
.use_ci_tools: &use_ci_tools |
4646
curl -sSL ${CIT_LOADER_URL} -o cit_loader.sh && sh cit_loader.sh
@@ -62,13 +62,11 @@ workflow:
6262
rules:
6363
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "esp_branch_sync"'
6464

65-
.rules:not-scheduled-sync:
66-
rules:
67-
- if: '$CI_PIPELINE_SOURCE != "schedule" || ($SCHEDULE_TYPE != "rebase_on_main" && $SCHEDULE_TYPE != "esp_branch_sync")'
65+
.if-scheduled-sync: &if-scheduled-sync
66+
if: '$CI_PIPELINE_SOURCE == "schedule" && ($SCHEDULE_TYPE == "rebase_on_main" || $SCHEDULE_TYPE == "esp_branch_sync")'
6867

69-
.rules:not-esp-main:
70-
rules:
71-
- if: '$CI_COMMIT_REF_NAME != $SCHED_REBASE_BR && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $SCHED_REBASE_BR'
68+
.if-esp-main-workflow: &if-esp-main-workflow
69+
if: '$CI_COMMIT_REF_NAME == $ESP_MAIN_BRANCH || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $ESP_MAIN_BRANCH'
7270

7371
before_script:
7472
- *use_ci_tools
@@ -206,9 +204,6 @@ check_commit_message:
206204
$CI_MERGE_REQUEST_DIFF_BASE_SHA..HEAD
207205

208206
.build_toolchain_template:
209-
extends:
210-
- .rules:not-scheduled-sync
211-
- .rules:not-esp-main
212207
tags: [ "amd64", "build" ]
213208
artifacts:
214209
paths:
@@ -229,6 +224,12 @@ check_commit_message:
229224
PACK_TOOLCHAIN: "ON"
230225
PACK_STANDALONE_LIBS: "ON"
231226
PACK_TARGET_LIBS: "OFF"
227+
rules:
228+
- <<: *if-esp-main-workflow
229+
when: never
230+
- <<: *if-scheduled-sync
231+
when: never
232+
- when: on_success
232233
cache:
233234
key: ccache-$CI_JOB_NAME
234235
paths:
@@ -400,8 +401,6 @@ build_and_test:
400401
tags: [ "amd64", "build" ]
401402
stage: test_build
402403
needs: []
403-
extends:
404-
- .rules:not-scheduled-sync
405404
artifacts:
406405
paths:
407406
- ${DIST_DIR}/
@@ -411,8 +410,16 @@ build_and_test:
411410
retry: 1
412411
variables:
413412
PACK_TOOL: "tar cJhvf"
413+
CACHE_KEY: ccache-$CI_JOB_NAME
414+
rules:
415+
- <<: *if-scheduled-sync
416+
when: never
417+
- if: '$CI_COMMIT_REF_NAME == $ESP_MAIN_BRANCH || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $ESP_MAIN_BRANCH'
418+
variables:
419+
CACHE_KEY: ccache-esp_main-$CI_JOB_NAME
420+
- when: on_success
414421
cache:
415-
key: ccache-$CI_JOB_NAME
422+
key: $CACHE_KEY
416423
paths:
417424
- $CCACHE_DIR
418425
before_script:
@@ -560,9 +567,6 @@ build_aarch64-apple-darwin:
560567

561568
.pack_template:
562569
stage: pack
563-
extends:
564-
- .rules:not-scheduled-sync
565-
- .rules:not-esp-main
566570
tags: [ "amd64", "build" ]
567571
artifacts:
568572
paths:
@@ -572,6 +576,12 @@ build_aarch64-apple-darwin:
572576
variables:
573577
PACK_TOOL: "tar cJf"
574578
UNPACK_TOOL: "tar xJf"
579+
rules:
580+
- <<: *if-esp-main-workflow
581+
when: never
582+
- <<: *if-scheduled-sync
583+
when: never
584+
- when: on_success
575585
script:
576586
# update distro
577587
- *unpack_distro
@@ -637,6 +647,10 @@ pack_aarch64-apple-darwin:
637647
.macos_codesign_template:
638648
stage: sign
639649
rules:
650+
- <<: *if-esp-main-workflow
651+
when: never
652+
- <<: *if-scheduled-sync
653+
when: never
640654
- if: $CI_COMMIT_TAG
641655
when: on_success
642656
allow_failure: false
@@ -664,16 +678,12 @@ pack_aarch64-apple-darwin:
664678
sign_x86_64-apple-darwin:
665679
extends:
666680
- .macos_codesign_template
667-
- .rules:not-scheduled-sync
668-
- .rules:not-esp-main
669681
needs:
670682
- pack_x86_64-apple-darwin
671683

672684
sign_aarch64-apple-darwin:
673685
extends:
674686
- .macos_codesign_template
675-
- .rules:not-scheduled-sync
676-
- .rules:not-esp-main
677687
needs:
678688
- pack_aarch64-apple-darwin
679689

@@ -699,9 +709,6 @@ sign_aarch64-apple-darwin:
699709
stage: test
700710
image: espressif/idf:latest
701711
tags: [ "amd64", "build" ]
702-
extends:
703-
- .rules:not-scheduled-sync
704-
- .rules:not-esp-main
705712
artifacts:
706713
paths:
707714
- ${BUILD_DIR}/*.log
@@ -720,6 +727,12 @@ sign_aarch64-apple-darwin:
720727
TEST_APP_SUBMODULE_PATH: ""
721728
CONF_HOST: "x86_64-linux-gnu"
722729
UNPACK_TOOL: "tar xJf"
730+
rules:
731+
- <<: *if-esp-main-workflow
732+
when: never
733+
- <<: *if-scheduled-sync
734+
when: never
735+
- when: on_success
723736
script:
724737
- mkdir -p $PWD/${BUILD_DIR}
725738
- export BUILD_LOG=$PWD/${BUILD_DIR}/build.log
@@ -765,8 +778,6 @@ test_build_esp_dsp:
765778
test_pie_optimizations:
766779
tags: [ "amd64", "build" ]
767780
stage: test
768-
extends:
769-
- .rules:not-scheduled-sync
770781
needs:
771782
- job: "build_and_test"
772783
artifacts:
@@ -777,6 +788,10 @@ test_pie_optimizations:
777788
variables:
778789
TEST_APP_ESP_DSP_CUSTOM_BRANCH: "llvm-23-optimization-test-v3"
779790
UNPACK_TOOL: "tar xJvf"
791+
rules:
792+
- <<: *if-scheduled-sync
793+
when: never
794+
- when: on_success
780795
allow_failure: true
781796
script:
782797
- LLVM_PROJECT_PATH=$PWD
@@ -818,15 +833,18 @@ test_xesppie:
818833

819834
upload_to_http:
820835
stage: private_deploy
821-
extends:
822-
- .rules:not-scheduled-sync
823-
- .rules:not-esp-main
824836
when: manual
825837
allow_failure: true
826838
tags: [ "deploy", "shiny" ]
827839
variables:
828840
# force the fetch strategy to clean old archives up in dist/ dir
829841
GIT_STRATEGY: fetch
842+
rules:
843+
- <<: *if-esp-main-workflow
844+
when: never
845+
- <<: *if-scheduled-sync
846+
when: never
847+
- when: on_success
830848
needs:
831849
- job: build_x86_64-linux-gnu
832850
script:

0 commit comments

Comments
 (0)