diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml new file mode 100644 index 000000000000..0cd555b2fa8b --- /dev/null +++ b/.github/workflows/ci-checks.yml @@ -0,0 +1,46 @@ +# This workflow runs on pull requests when they are opened, synchronized, or reopened. +# It performs the following actions: +# 1. Resets the 'ci-passed' label status when a pull request is synchronized or reopened, +# indicating that changes have been pushed and CI needs to rerun. +# 2. Polls every 5 minutes to check if all CI checks have passed. +# 3. Adds the 'ci-passed' label to the pull request if all CI checks pass successfully. + +name: Check CI Completion + +on: + pull_request: + types: [opened, synchronize, reopened] + +permissions: + checks: read + pull-requests: write + +jobs: + reset_ci_passed_label: + if: github.event_name == 'pull_request' && (github.event.action == 'synchronize' || github.event.action == 'reopened') + runs-on: ubuntu-latest + steps: + - name: Reset ci-passed label status on PR Syncronization + run: | + echo "Resetting 'ci-passed' label as new changes have been pushed." + gh pr edit ${{ github.event.pull_request.number }} --remove-label "ci-passed" --repo $GITHUB_REPOSITORY || echo "Label not present" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + check_ci_status: + runs-on: ubuntu-latest + steps: + - name: Check if all CI checks passed + uses: wechuli/allcheckspassed@0b68b3b7d92e595bcbdea0c860d05605720cf479 + with: + delay: '5' + retries: '7' + polling_interval: '5' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Add 'ci-passed' label + if: success() + run: | + gh pr edit ${{ github.event.pull_request.number }} --add-label "ci-passed" --repo $GITHUB_REPOSITORY + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/kfp-sdk-tests.yml b/.github/workflows/kfp-sdk-tests.yml index 0f0266d8f5d4..87f569f2a454 100644 --- a/.github/workflows/kfp-sdk-tests.yml +++ b/.github/workflows/kfp-sdk-tests.yml @@ -28,3 +28,4 @@ jobs: - name: Run SDK Tests run: | ./test/presubmit-tests-sdk.sh +# FORCE RUN \ No newline at end of file diff --git a/.github/workflows/kubeflow-pipelines-manifests.yml b/.github/workflows/kubeflow-pipelines-manifests.yml index d494e2e0d0aa..b0fac33d2463 100644 --- a/.github/workflows/kubeflow-pipelines-manifests.yml +++ b/.github/workflows/kubeflow-pipelines-manifests.yml @@ -17,3 +17,4 @@ jobs: - name: Run tests run: ./manifests/kustomize/hack/presubmit.sh +# FORCE RUN \ No newline at end of file