diff --git a/.gitlab/ci/build.yml b/.gitlab/ci/build.yml index e64b421205..ce2ab47c37 100644 --- a/.gitlab/ci/build.yml +++ b/.gitlab/ci/build.yml @@ -1,7 +1,7 @@ .build_template: stage: build extends: - - .after_script:build:ccache + - .after_script:build:ccache-show-stats image: $ESP_ENV_IMAGE tags: - build @@ -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 @@ -541,7 +541,7 @@ 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 @@ -556,8 +556,9 @@ pytest_build_system_macos: junit: XUNIT_RESULT.xml 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 diff --git a/.gitlab/ci/common.yml b/.gitlab/ci/common.yml index b786fe2c10..ada3b5b12a 100644 --- a/.gitlab/ci/common.yml +++ b/.gitlab/ci/common.yml @@ -14,12 +14,12 @@ stages: - post_deploy variables: -# System environment + # System environment # Common parameters for the 'make' during CI tests MAKEFLAGS: "-j5 --no-keep-going" -# GitLab-CI environment + # GitLab-CI environment # Thanks to pack-objects cache, clone strategy should behave faster than fetch # so we pick "clone" as default git strategy # Shiny runners by default remove the CI_PROJECT_DIR every time at the beginning of one job @@ -207,13 +207,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: @@ -224,7 +225,7 @@ 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 - *upload_failed_job_log_artifacts