From 1a7a92a3386e8d289ab14739e76d801037810344 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 58f42a995a..d2d15fbfbf 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 4d267a9072..a4c43e6959 100644 --- a/.gitlab/ci/build.yml +++ b/.gitlab/ci/build.yml @@ -225,7 +225,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 722bd5a004..f0d2cd9901 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 c14e515de6..dfda0ae717 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 0000000000..d22fb140cf --- /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 a3e910ff40..e41222ba34 100644 --- a/.gitlab/ci/test-win.yml +++ b/.gitlab/ci/test-win.yml @@ -47,6 +47,7 @@ test_tools_win: extends: - .host_test_win_template - .rules:labels:windows_pytest_build_system + parallel: 4 artifacts: paths: - ${IDF_PATH}/*.out @@ -89,9 +90,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