diff --git a/.gitlab/ci/build.yml b/.gitlab/ci/build.yml index ef04ea5ab4..4e126a0919 100644 --- a/.gitlab/ci/build.yml +++ b/.gitlab/ci/build.yml @@ -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 @@ -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 @@ -42,9 +42,9 @@ --parallel-count ${CI_NODE_TOTAL:-1} --parallel-index ${CI_NODE_INDEX:-1} --extra-preserve-dirs - examples/bluetooth/esp_ble_mesh/ble_mesh_console - examples/bluetooth/hci/controller_hci_uart_esp32 - examples/wifi/iperf + examples/bluetooth/esp_ble_mesh/ble_mesh_console + examples/bluetooth/hci/controller_hci_uart_esp32 + examples/wifi/iperf --modified-components ${MR_MODIFIED_COMPONENTS} --modified-files ${MR_MODIFIED_FILES} # for detailed documents, please refer to .gitlab/ci/README.md#uploaddownload-artifacts-to-internal-minio-server @@ -210,15 +210,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 diff --git a/.gitlab/ci/common.yml b/.gitlab/ci/common.yml index 912f706da4..791b08ee5c 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 @@ -219,13 +219,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: @@ -236,11 +237,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 @@ -363,12 +364,12 @@ default: - *setup_tools_and_idf_python_venv - add_gitlab_ssh_keys - fetch_submodules -# gitlab bug, setting them here doesn't work -# - expire_in: https://gitlab.com/gitlab-org/gitlab/-/issues/404563 -# - when: https://gitlab.com/gitlab-org/gitlab/-/issues/440672 -# artifacts: -# expire_in: 1 week -# when: always + # gitlab bug, setting them here doesn't work + # - expire_in: https://gitlab.com/gitlab-org/gitlab/-/issues/404563 + # - when: https://gitlab.com/gitlab-org/gitlab/-/issues/440672 + # artifacts: + # expire_in: 1 week + # when: always retry: max: 2 when: diff --git a/tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml b/tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml index 4316648672..bab2fd6cdf 100644 --- a/tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml +++ b/tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml @@ -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: @@ -61,10 +61,10 @@ paths: - XUNIT_RESULT*.xml - 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 + # Child pipeline reports won't be collected in the main one + # https://gitlab.com/groups/gitlab-org/-/epics/8205 + # reports: + # junit: XUNIT_RESULT.xml when: always expire_in: 1 week script: