Skip to content

Commit

Permalink
[ci] Add @tvm-bot rerun
Browse files Browse the repository at this point in the history
This adds a command to restart CI runs that have stopped (either from a
failure, success, or abort) via GitHub comments addressed to tvm-bot:

```
@tvm-bot rerun
```

tvm-bot will then comment on the thread and send a request to Jenkins to
restart CI. This does not restart GitHub Actions jobs though we may be
able to add that in the future.
  • Loading branch information
driazati committed May 31, 2022
1 parent 2252f95 commit b3fca2f
Show file tree
Hide file tree
Showing 16 changed files with 241 additions and 267 deletions.
7 changes: 5 additions & 2 deletions .github/workflows/merge.yml → .github/workflows/tvmbot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,18 @@ concurrency:

jobs:
maybe-merge:
if: github.repository == 'apache/tvm'
# if: github.repository == 'apache/tvm'
runs-on: ubuntu-20.04
# if: ${{ github.event.issue.pull_request }}
steps:
- uses: actions/checkout@v2
- name: Merge if requested and possible
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TVM_BOT_JENKINS_TOKEN: ${{ secrets.TVM_BOT_JENKINS_TOKEN }}
PR_NUMBER: ${{ github.event.issue.number }}
ISSUE_COMMENT: ${{ toJson(github.event.comment) }}
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
set -eux
python tests/scripts/github_mergebot.py --pr "$PR_NUMBER" --run-url "$RUN_URL"
python tests/scripts/github_tvmbot.py --pr "$PR_NUMBER" --run-url "$RUN_URL" --trigger-comment-json "$ISSUE_COMMENT"
3 changes: 2 additions & 1 deletion tests/python/ci/sample_prs/pr10786-badci.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "- Added device validity check in allocation. HexagonDeviceAPI should only be called for CPU/Hexagon types.\r\n\r\n- Check for \"global.vtcm\" scope instead of \"vtcm\". The ccope of N-d allocations produced by `LowerVtcmAlloc` should be `\"global.vtcm\"`. The previous check allowed unsupported scope such as `\"local.vtcm\"`.\r\n\r\n- Remove `vtcmallocs` entry after calling free. Previously, the vtcm allocation map kept dangling pointers to `HexagonBuffer` objects after they had been freed.\r\n\r\n- Rename N-d alloc and free packed functions. Since most of the similar device functions use snake case, renaming `*.AllocND` to `*.alloc_nd` and `*.FreeND` to `*.free_nd`.\r\n\r\nCo-authored-by: Adam Straw <astraw@octoml.ai>",
"state": "OPEN",
"author": {
"login": "Lunderberg"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down Expand Up @@ -119,6 +119,7 @@
"commit": {
"oid": "6f04bcf57d07f915a98fd91178f04d9e92a09fcd"
},
"id": 123,
"author": {
"login": "kparzysz-quic"
},
Expand Down
3 changes: 2 additions & 1 deletion tests/python/ci/sample_prs/pr10786-changes-requested.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "- Added device validity check in allocation. HexagonDeviceAPI should only be called for CPU/Hexagon types.\r\n\r\n- Check for \"global.vtcm\" scope instead of \"vtcm\". The ccope of N-d allocations produced by `LowerVtcmAlloc` should be `\"global.vtcm\"`. The previous check allowed unsupported scope such as `\"local.vtcm\"`.\r\n\r\n- Remove `vtcmallocs` entry after calling free. Previously, the vtcm allocation map kept dangling pointers to `HexagonBuffer` objects after they had been freed.\r\n\r\n- Rename N-d alloc and free packed functions. Since most of the similar device functions use snake case, renaming `*.AllocND` to `*.alloc_nd` and `*.FreeND` to `*.free_nd`.\r\n\r\nCo-authored-by: Adam Straw <astraw@octoml.ai>",
"state": "OPEN",
"author": {
"login": "Lunderberg"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down Expand Up @@ -120,6 +120,7 @@
"commit": {
"oid": "6f04bcf57d07f915a98fd91178f04d9e92a09fcd"
},
"id": 123,
"author": {
"login": "kparzysz-quic"
},
Expand Down
2 changes: 1 addition & 1 deletion tests/python/ci/sample_prs/pr10786-co-authors.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "- Added device validity check in allocation. HexagonDeviceAPI should only be called for CPU/Hexagon types.\r\n\r\n- Check for \"global.vtcm\" scope instead of \"vtcm\". The ccope of N-d allocations produced by `LowerVtcmAlloc` should be `\"global.vtcm\"`. The previous check allowed unsupported scope such as `\"local.vtcm\"`.\r\n\r\n- Remove `vtcmallocs` entry after calling free. Previously, the vtcm allocation map kept dangling pointers to `HexagonBuffer` objects after they had been freed.\r\n\r\n- Rename N-d alloc and free packed functions. Since most of the similar device functions use snake case, renaming `*.AllocND` to `*.alloc_nd` and `*.FreeND` to `*.free_nd`.\r\n\r\nCo-authored-by: Adam Straw <astraw@octoml.ai>",
"state": "OPEN",
"author": {
"login": "Lunderberg"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down
3 changes: 2 additions & 1 deletion tests/python/ci/sample_prs/pr10786-invalid-author.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "- Added device validity check in allocation. HexagonDeviceAPI should only be called for CPU/Hexagon types.\r\n\r\n- Check for \"global.vtcm\" scope instead of \"vtcm\". The ccope of N-d allocations produced by `LowerVtcmAlloc` should be `\"global.vtcm\"`. The previous check allowed unsupported scope such as `\"local.vtcm\"`.\r\n\r\n- Remove `vtcmallocs` entry after calling free. Previously, the vtcm allocation map kept dangling pointers to `HexagonBuffer` objects after they had been freed.\r\n\r\n- Rename N-d alloc and free packed functions. Since most of the similar device functions use snake case, renaming `*.AllocND` to `*.alloc_nd` and `*.FreeND` to `*.free_nd`.\r\n\r\nCo-authored-by: Adam Straw <astraw@octoml.ai>",
"state": "OPEN",
"author": {
"login": "Lunderberg"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down Expand Up @@ -114,6 +114,7 @@
"nodes": [
{
"body": "@tvm-bot merge",
"id": 123,
"updatedAt": "2022-03-25T22:13:50Z",
"authorCanPushToRepository": false,
"commit": {
Expand Down
2 changes: 1 addition & 1 deletion tests/python/ci/sample_prs/pr10786-merges.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "- Added device validity check in allocation. HexagonDeviceAPI should only be called for CPU/Hexagon types.\r\n\r\n- Check for \"global.vtcm\" scope instead of \"vtcm\". The ccope of N-d allocations produced by `LowerVtcmAlloc` should be `\"global.vtcm\"`. The previous check allowed unsupported scope such as `\"local.vtcm\"`.\r\n\r\n- Remove `vtcmallocs` entry after calling free.\n\n\nThanks for contributing to TVM! Please refer to guideline https://tvm.apache.org/docs/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from [Reviewers](https://github.com/apache/incubator-tvm/blob/master/CONTRIBUTORS.md#reviewers) by @ them in the pull request thread.\n\n\nPreviously, the vtcm allocation map kept dangling pointers to `HexagonBuffer` objects after they had been freed.\r\n\r\n- Rename N-d alloc and free packed functions. Since most of the similar device functions use snake case, renaming `*.AllocND` to `*.alloc_nd` and `*.FreeND` to `*.free_nd`.\n\n\ncc @someone\n\r\n\r\nCo-authored-by: Adam Straw <astraw@octoml.ai>\n\n\nThanks for contributing to TVM! Please refer to guideline https://tvm.apache.org/docs/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from [Reviewers](https://github.com/apache/incubator-tvm/blob/master/CONTRIBUTORS.md#reviewers) by @ them in the pull request thread.\n\n",
"state": "OPEN",
"author": {
"login": "Lunderberg"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down
2 changes: 1 addition & 1 deletion tests/python/ci/sample_prs/pr10786-missing-job.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "- Added device validity check in allocation. HexagonDeviceAPI should only be called for CPU/Hexagon types.\r\n\r\n- Check for \"global.vtcm\" scope instead of \"vtcm\". The ccope of N-d allocations produced by `LowerVtcmAlloc` should be `\"global.vtcm\"`. The previous check allowed unsupported scope such as `\"local.vtcm\"`.\r\n\r\n- Remove `vtcmallocs` entry after calling free. Previously, the vtcm allocation map kept dangling pointers to `HexagonBuffer` objects after they had been freed.\r\n\r\n- Rename N-d alloc and free packed functions. Since most of the similar device functions use snake case, renaming `*.AllocND` to `*.alloc_nd` and `*.FreeND` to `*.free_nd`.\r\n\r\nCo-authored-by: Adam Straw <astraw@octoml.ai>",
"state": "OPEN",
"author": {
"login": "Lunderberg"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down
2 changes: 1 addition & 1 deletion tests/python/ci/sample_prs/pr10786-nottriggered.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "- Added device validity check in allocation. HexagonDeviceAPI should only be called for CPU/Hexagon types.\r\n\r\n- Check for \"global.vtcm\" scope instead of \"vtcm\". The ccope of N-d allocations produced by `LowerVtcmAlloc` should be `\"global.vtcm\"`. The previous check allowed unsupported scope such as `\"local.vtcm\"`.\r\n\r\n- Remove `vtcmallocs` entry after calling free. Previously, the vtcm allocation map kept dangling pointers to `HexagonBuffer` objects after they had been freed.\r\n\r\n- Rename N-d alloc and free packed functions. Since most of the similar device functions use snake case, renaming `*.AllocND` to `*.alloc_nd` and `*.FreeND` to `*.free_nd`.\r\n\r\nCo-authored-by: Adam Straw <astraw@octoml.ai>",
"state": "OPEN",
"author": {
"login": "Lunderberg"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down
2 changes: 1 addition & 1 deletion tests/python/ci/sample_prs/pr10786-oldreview.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "- Added device validity check in allocation. HexagonDeviceAPI should only be called for CPU/Hexagon types.\r\n\r\n- Check for \"global.vtcm\" scope instead of \"vtcm\". The ccope of N-d allocations produced by `LowerVtcmAlloc` should be `\"global.vtcm\"`. The previous check allowed unsupported scope such as `\"local.vtcm\"`.\r\n\r\n- Remove `vtcmallocs` entry after calling free. Previously, the vtcm allocation map kept dangling pointers to `HexagonBuffer` objects after they had been freed.\r\n\r\n- Rename N-d alloc and free packed functions. Since most of the similar device functions use snake case, renaming `*.AllocND` to `*.alloc_nd` and `*.FreeND` to `*.free_nd`.\r\n\r\nCo-authored-by: Adam Straw <astraw@octoml.ai>",
"state": "OPEN",
"author": {
"login": "Lunderberg"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "See [this thread ](https://discuss.tvm.apache.org/t/crt-add-platform-specific-pre-and-post-function-calls-in-crt-runtime/12723)for an explanation.",
"state": "OPEN",
"author": {
"login": "fPecc"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down
4 changes: 3 additions & 1 deletion tests/python/ci/sample_prs/pr11267-no-review.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "This adds `/opt/sccache` to the PATH of each of the CI docker images so when cmake looks for a C compiler it will pick up the sccache wrapper by default. This fixes some issues where compiler invocations weren't being run though sccache. With this approach the invoker doesn't need to do anything specific to set up sccache.\n\nThis will require a follow up PR to update the Docker images and remove some of the sccache logic in `task_build.py`\n\n\n\ncc @Mousius @areusch",
"state": "OPEN",
"author": {
"login": "driazati"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand All @@ -15,6 +15,7 @@
"author": {
"login": "areusch"
},
"id": 124,
"updatedAt": "2022-05-11T16:54:32Z",
"body": "just confirming--we can disable this when doing a local build, correct? what's the mechanism by which we do that?"
},
Expand All @@ -23,6 +24,7 @@
"author": {
"login": "driazati"
},
"id": 123,
"updatedAt": "2022-05-11T18:46:54Z",
"body": "@tvm-bot merge"
}
Expand Down
157 changes: 0 additions & 157 deletions tests/python/ci/sample_prs/pr11276-no-review.json

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"body": "(See https://discuss.tvm.apache.org/t/byoc-supporting-cutlass-byoc-with-collage/12796/6 for\r\ncontext, which in turn is part of Collage (https://github.com/apache/tvm-rfcs/blob/main/rfcs/0062-collage.md).\r\n\r\nThis adds a new 'DSO exportable' runtime module representing the contents of a .o file. It\r\nallows external codegen toolchains to yield a result which:\r\n - Like CSource modules, can be conveyed directly to the final export_library compilation\r\n step for linking into the final .so and saved to a know location without risk the\r\n underlying code artifact will be lost.\r\n - Like DSOLibrary modules, are self contained so that no additional compile-time arguments\r\n need be conveyed from the CSource module to the final export_library command line\r\n\r\nSince this is the third flavor of 'DSO exportable' module, add a Module::IsDSOExportable.\r\n\r\nSince adding the above, can't resist also adding a Module::ImplementsFunction virtual and\r\ncalling it from TEComplier to check if an external codegen function actually provided the\r\nimplementation it promised.\r\n\r\nNote:\r\n - I've left the existing implementation of runtime.load_module alone which\r\n relinks .o files to .so files.\r\n - Though also contained in the .o metadata, I require static libraries to always\r\n carry their list of exported function names.\r\n\r\nThis is all pretty stop gap pending a good rework of TVM to supoprt the notion of artifacts\r\nand, perhaps, build rules.\r\n",
"state": "OPEN",
"author": {
"login": "mbs-octoml"
"login": "abc"
},
"comments": {
"pageInfo": {
Expand Down Expand Up @@ -64,15 +64,7 @@
"login": "mbs-octoml"
},
"updatedAt": "2022-05-25T22:12:37Z",
"body": "Hmff."
},
{
"authorAssociation": "NONE",
"author": {
"login": "github-actions"
},
"updatedAt": "2022-05-25T22:12:55Z",
"body": "Cannot merge, did not find any approving reviews from users with write access on 96d4e62da5a7b78da18d0ee28cc6261d8fbf31c4"
"body": "@tvm-bot rerun"
}
]
},
Expand Down
Loading

0 comments on commit b3fca2f

Please sign in to comment.