From 9b239bcfe50423d68ed7f89fca4005e8085f5e4c Mon Sep 17 00:00:00 2001 From: "igor.udot" Date: Thu, 12 Mar 2026 09:51:47 +0800 Subject: [PATCH] ci: manual job to block pipeline start --- .gitlab-ci.yml | 1 + .gitlab/ci/build.yml | 4 +++- .gitlab/ci/common.yml | 1 + .gitlab/ci/integration_test.yml | 2 ++ .gitlab/ci/manual_gate.yml | 11 +++++++++++ .gitlab/ci/test-win.yml | 5 ++++- 6 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 .gitlab/ci/manual_gate.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0e449ec7e9a..400e9cb3e59 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,6 +21,7 @@ include: - '.gitlab/ci/danger.yml' - '.gitlab/ci/common.yml' - '.gitlab/ci/rules.yml' + - ".gitlab/ci/manual_gate.yml" - '.gitlab/ci/upload_cache.yml' - '.gitlab/ci/docs.yml' - '.gitlab/ci/static-code-analysis.yml' diff --git a/.gitlab/ci/build.yml b/.gitlab/ci/build.yml index 53c6cc376f6..b5c3453c3c0 100644 --- a/.gitlab/ci/build.yml +++ b/.gitlab/ci/build.yml @@ -243,7 +243,9 @@ build_docker: - .before_script:minimal - .rules:build:docker stage: host_test - needs: [] + needs: + - job: manual_gate + optional: true image: espressif/docker-builder:1 tags: [shiny, dind] variables: diff --git a/.gitlab/ci/common.yml b/.gitlab/ci/common.yml index 3192821f16d..2ebae033222 100644 --- a/.gitlab/ci/common.yml +++ b/.gitlab/ci/common.yml @@ -2,6 +2,7 @@ # Default Variables # ##################### stages: + - manual_gate - upload_cache - pre_check - build diff --git a/.gitlab/ci/integration_test.yml b/.gitlab/ci/integration_test.yml index c14e515de65..dfda0ae717d 100644 --- a/.gitlab/ci/integration_test.yml +++ b/.gitlab/ci/integration_test.yml @@ -39,6 +39,8 @@ gen_integration_pipeline: SUBMODULES_TO_FETCH: "none" GIT_LFS_SKIP_SMUDGE: 1 needs: + - job: manual_gate + optional: true - job: fast_template_app artifacts: false optional: true diff --git a/.gitlab/ci/manual_gate.yml b/.gitlab/ci/manual_gate.yml new file mode 100644 index 00000000000..d22fb140cfb --- /dev/null +++ b/.gitlab/ci/manual_gate.yml @@ -0,0 +1,11 @@ +manual_gate: + stage: manual_gate + image: $ESP_ENV_IMAGE + tags: [fast_run, shiny] + allow_failure: false + rules: + - if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/) && $CI_PIPELINE_SOURCE == "push"' + when: manual + - when: never + script: + - echo "Manual approval received for master pipeline." diff --git a/.gitlab/ci/test-win.yml b/.gitlab/ci/test-win.yml index 5e0a197e063..b96c634fba0 100644 --- a/.gitlab/ci/test-win.yml +++ b/.gitlab/ci/test-win.yml @@ -42,6 +42,7 @@ test_tools_win: extends: - .host_test_win_template - .rules:labels:windows_pytest_build_system + parallel: 4 artifacts: paths: - ${IDF_PATH}/*.out @@ -84,9 +85,11 @@ pytest_build_system_win: - .test_build_system_template_win - .rules:labels:windows_pytest_build_system parallel: 2 - needs: [] tags: - windows-build + needs: + - job: manual_gate + optional: true artifacts: paths: - XUNIT_RESULT.xml