diff --git a/.github/workflows/test-on-comment.yaml b/.github/workflows/test-on-comment.yaml index f321e63c6..2791331a6 100644 --- a/.github/workflows/test-on-comment.yaml +++ b/.github/workflows/test-on-comment.yaml @@ -3,28 +3,63 @@ name: Kruize Remote monitoring functional tests on: issue_comment: types: [created] + issue_type: [pull_request] pull_request_review: types: [submitted] jobs: functest: - # Only run this if the user asked us to - if: github.event.comment.body == 'run functional tests' + if: contains(github.event.comment.body, 'run functional tests') runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v3 + - name: Get workflow run info + run: | + echo "url=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_OUTPUT + echo "id=$GITHUB_RUN_ID" >> $GITHUB_OUTPUT + echo "url=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" + echo "id=$GITHUB_RUN_ID" + id: workflow_run_info + + - name: Debug Comment Content + run: echo "Comment :${{ github.event.comment.body }}" + + + - uses: actions/github-script@v6 + id: get-pr + with: + script: | + const request = { + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.issue.number + } + core.info(`Getting PR #${request.pull_number} from ${request.owner}/${request.repo}`) + try { + const result = await github.rest.pulls.get(request) + return result.data + } catch (err) { + core.setFailed(`Request failed with error ${err}`) + } + + - name: Check out code + uses: actions/checkout@v4 + with: + ref: refs/pull/${{ github.event.issue.number }}/head + - name: Setup Minikube uses: manusa/actions-setup-minikube@v2.3.0 with: minikube version: 'v1.16.0' kubernetes version: 'v1.19.2' + - name: Build crc run: | echo Build crc ./build.sh -i autotune_operator:test_build docker images | grep autotune + - name: Install Prometheus on minikube run: | echo Install Prometheus on minikube @@ -60,3 +95,67 @@ jobs: name: kruize_test_results path: ./kruize_test_results.tar retention-days: 2 + + reportFailure: + runs-on: ubuntu-latest + needs: [functest] + if: failure() + steps: + - name: Create comment + uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + comment_body = ` + @${{ github.actor }} Build(s) failed. + Workflow Run ID: [${{ needs.functest.outputs.workflow_id }}](${{ needs.functest.outputs.workflow_url }}) + `; + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: comment_body + }) + + reportCancelled: + runs-on: ubuntu-latest + needs: [functest] + if: cancelled() + steps: + - name: Create comment + uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + comment_body = ` + @${{ github.actor }} Build(s) cancelled. + Workflow Run ID: [${{ needs.functest.outputs.workflow_id }}](${{ needs.functest.outputs.workflow_url }}) + `; + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: comment_body + }) + + reportSuccess: + runs-on: ubuntu-latest + needs: [functest] + if: success() + steps: + - name: Create comment + uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + + comment_body = ` + @${{ github.actor }} Build(s) successful. + Workflow Run ID: [${{ needs.functest.outputs.workflow_id }}](${{ needs.functest.outputs.workflow_url }}) + `; + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: comment_body + }) diff --git a/deploy.sh b/deploy.sh index d67c027bb..34107a40b 100755 --- a/deploy.sh +++ b/deploy.sh @@ -123,7 +123,7 @@ function check_cluster_type() { } # Iterate through the commandline options -while getopts ac:d:i:k:m:n:o:p:stub-: gopts; do +while getopts ac:d:i:k:m:n:o:p:u:stb-: gopts; do case ${gopts} in -) case "${OPTARG}" in