Skip to content

Commit

Permalink
fix(macos): ccache: re-enable, show stats, set CCACHE_DIR, limit CCAC…
Browse files Browse the repository at this point in the history
…HE_MAXSIZE
  • Loading branch information
petermESP authored and kumekay committed Nov 7, 2024
1 parent 5e056de commit 4fa6e03
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 11 deletions.
11 changes: 6 additions & 5 deletions .gitlab/ci/build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.build_template:
stage: build
extends:
- .after_script:build:ccache:upload-when-fail
- .after_script:build:ccache-show-stats:upload-failed-job-logs
image: $ESP_ENV_IMAGE
tags:
- build
Expand All @@ -16,7 +16,7 @@
extends:
- .build_template
- .before_script:build
- .after_script:build:ccache
- .after_script:build:ccache-show-stats
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
Expand Down Expand Up @@ -246,15 +246,16 @@ pytest_build_system_macos:
extends:
- .test_build_system_template
- .before_script:build:macos
- .after_script:build:macos:upload-when-fail
- .after_script:build:macos:upload-failed-job-logs:ccache-show-stats
- .rules:build:macos
tags:
- macos_shell
parallel: 3
variables:
PYENV_VERSION: "3.8"
CI_CCACHE_DISABLE: "1" # ccache: error: Read-only file system

# CCACHE_DIR: "/cache/idf_ccache". On macOS, you cannot write to this folder due to insufficient permissions.
CCACHE_DIR: "" # ccache will use "$HOME/Library/Caches/ccache".
CCACHE_MAXSIZE: "5G" # To preserve the limited Macbook storage. CCACHE automatically prunes old caches to fit the set limit.
build_docker:
extends:
- .before_script:minimal
Expand Down
7 changes: 4 additions & 3 deletions .gitlab/ci/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -227,13 +227,14 @@ variables:
- *setup_tools_and_idf_python_venv
- fetch_submodules

.after_script:build:macos:upload-when-fail:
.after_script:build:macos:upload-failed-job-logs:ccache-show-stats:
after_script:
# macos is running shell executor, which means it would use
# the system installed /usr/local/bin/python3 by default.
# Ensure pyenv and PYENV_VERSION installed
- eval "$(pyenv init -)"
- *upload_failed_job_log_artifacts
- *show_ccache_statistics

.before_script:build:
before_script:
Expand All @@ -244,11 +245,11 @@ variables:
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
- export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS}

.after_script:build:ccache:
.after_script:build:ccache-show-stats:
after_script:
- *show_ccache_statistics

.after_script:build:ccache:upload-when-fail:
.after_script:build:ccache-show-stats:upload-failed-job-logs:
after_script:
- *show_ccache_statistics
- *upload_failed_job_log_artifacts
Expand Down
6 changes: 3 additions & 3 deletions tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
.dynamic_build_template:
extends:
- .before_script:build
- .after_script:build:ccache:upload-when-fail
- .after_script:build:ccache-show-stats:upload-failed-job-logs
image: $ESP_ENV_IMAGE
stage: build
variables:
Expand Down Expand Up @@ -64,8 +64,8 @@
- pytest-embedded/
# Child pipeline reports won't be collected in the main one
# https://gitlab.com/groups/gitlab-org/-/epics/8205
# reports:
# junit: XUNIT_RESULT.xml
# reports:
# junit: XUNIT_RESULT.xml
when: always
expire_in: 1 week
script:
Expand Down

0 comments on commit 4fa6e03

Please sign in to comment.