diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 3d43a960534b..da84500559a1 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -1056,6 +1056,23 @@ jobs: docker ps --quiet | xargs --no-run-if-empty docker kill ||: docker ps --all --quiet | xargs --no-run-if-empty docker rm -f ||: sudo rm -fr "$TEMP_PATH" + MarkReleaseReady: + needs: + - BuilderBinDarwin + - BuilderBinDarwinAarch64 + - BuilderDebRelease + - BuilderDebAarch64 + runs-on: [self-hosted, style-checker] + steps: + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Mark Commit Release Ready + run: | + cd "$GITHUB_WORKSPACE/tests/ci" + python3 mark_release_ready.py ############################################################################################## ########################### FUNCTIONAl STATELESS TESTS ####################################### ############################################################################################## @@ -3069,6 +3086,8 @@ jobs: needs: - DockerHubPush - BuilderReport + - BuilderSpecialReport + - MarkReleaseReady - FunctionalStatelessTestDebug0 - FunctionalStatelessTestDebug1 - FunctionalStatelessTestDebug2 diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 09ca64977f08..d3580f4c4d73 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -3579,6 +3579,7 @@ jobs: - DockerServerImages - CheckLabels - BuilderReport + - BuilderSpecialReport - FastTest - FunctionalStatelessTestDebug0 - FunctionalStatelessTestDebug1 diff --git a/.github/workflows/release_branches.yml b/.github/workflows/release_branches.yml index abe85d3e72d9..8148905cec7d 100644 --- a/.github/workflows/release_branches.yml +++ b/.github/workflows/release_branches.yml @@ -615,6 +615,23 @@ jobs: docker ps --quiet | xargs --no-run-if-empty docker kill ||: docker ps --all --quiet | xargs --no-run-if-empty docker rm -f ||: sudo rm -fr "$TEMP_PATH" + MarkReleaseReady: + needs: + - BuilderBinDarwin + - BuilderBinDarwinAarch64 + - BuilderDebRelease + - BuilderDebAarch64 + runs-on: [self-hosted, style-checker] + steps: + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Mark Commit Release Ready + run: | + cd "$GITHUB_WORKSPACE/tests/ci" + python3 mark_release_ready.py ############################################################################################## ########################### FUNCTIONAl STATELESS TESTS ####################################### ############################################################################################## @@ -1888,6 +1905,7 @@ jobs: - DockerServerImages - BuilderReport - BuilderSpecialReport + - MarkReleaseReady - FunctionalStatelessTestDebug0 - FunctionalStatelessTestDebug1 - FunctionalStatelessTestDebug2 diff --git a/tests/ci/mark_release_ready.py b/tests/ci/mark_release_ready.py new file mode 100644 index 000000000000..be1771e62bd1 --- /dev/null +++ b/tests/ci/mark_release_ready.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 + +from commit_status_helper import get_commit +from env_helper import GITHUB_JOB_URL +from get_robot_token import get_best_robot_token +from github_helper import GitHub +from pr_info import PRInfo + +RELEASE_READY_STATUS = "Ready for release" + + +def main(): + pr_info = PRInfo() + gh = GitHub(get_best_robot_token(), per_page=100) + commit = get_commit(gh, pr_info.sha) + commit.create_status( + context=RELEASE_READY_STATUS, + description="the release can be created from the commit", + state="success", + target_url=GITHUB_JOB_URL(), + ) + + +if __name__ == "__main__": + main() diff --git a/tests/ci/release.py b/tests/ci/release.py index c0c248aa5131..fd4bda3eae42 100755 --- a/tests/ci/release.py +++ b/tests/ci/release.py @@ -118,6 +118,8 @@ def do(self, check_dirty: bool, check_branch: bool, with_release_branch: bool): except subprocess.CalledProcessError: logging.fatal("Repo contains uncommitted changes") raise + if self._git.branch != "master": + raise Exception("the script must be launched only from master") self.set_release_branch()