Add messages for config changes (#3803)
* Automatically label Wasmtime `Config` object changes * Add the "Label Messager" github action This allows us to have custom messages left in comments on issues and pull requests when they get labeled with a specific label. * Add a message for `wasmtime:config`-labeled pull requests * CI: Consolidate issue/PR triage workflows
This commit is contained in:
3
.github/label-messager.json
vendored
Normal file
3
.github/label-messager.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"wasmtime:config": ".github/label-messager/wasmtime-config.md"
|
||||
}
|
||||
51
.github/label-messager/wasmtime-config.md
vendored
Normal file
51
.github/label-messager/wasmtime-config.md
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
It looks like you are changing Wasmtime's configuration options. Make sure to
|
||||
complete this check list:
|
||||
|
||||
* [ ] If you added a new `Config` method, you wrote extensive documentation for
|
||||
it.
|
||||
|
||||
<details>
|
||||
|
||||
Our documentation should be of the following form:
|
||||
|
||||
```text
|
||||
Short, simple summary sentence.
|
||||
|
||||
More details. These details can be multiple paragraphs. There should be
|
||||
information about not just the method, but its parameters and results as
|
||||
well.
|
||||
|
||||
Is this method fallible? If so, when can it return an error?
|
||||
|
||||
Can this method panic? If so, when does it panic?
|
||||
|
||||
# Example
|
||||
|
||||
Optional example here.
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
* [ ] If you added a new `Config` method, or modified an existing one, you
|
||||
ensured that this configuration is exercised by the fuzz targets.
|
||||
|
||||
<details>
|
||||
|
||||
For example, if you expose a new strategy for allocating the next instance
|
||||
slot inside the pooling allocator, you should ensure that at least one of our
|
||||
fuzz targets exercises that new strategy.
|
||||
|
||||
Often, all that is required of you is to ensure that there is a knob for this
|
||||
configuration option in [`wasmtime_fuzzing::Config`][fuzzing-config] (or one
|
||||
of its nested `struct`s).
|
||||
|
||||
Rarely, this may require authoring a new fuzz target to specifically test this
|
||||
configuration. See [our docs on fuzzing][fuzzing-docs] for more details.
|
||||
|
||||
</details>
|
||||
|
||||
* [ ] If you are enabling a configuration option by default, make sure that it
|
||||
has been fuzzed for at least two weeks before turning it on by default.
|
||||
|
||||
[fuzzing-config]: https://github.com/bytecodealliance/wasmtime/blob/ca0e8d0a1d8cefc0496dba2f77a670571d8fdcab/crates/fuzzing/src/generators.rs#L182-L194
|
||||
[fuzzing-docs]: https://docs.wasmtime.dev/contributing-fuzzing.html
|
||||
4
.github/labeler.yml
vendored
4
.github/labeler.yml
vendored
@@ -66,6 +66,10 @@
|
||||
"wasmtime:c-api":
|
||||
- "crates/c-api/**"
|
||||
|
||||
"wasmtime:config":
|
||||
- "crates/wasmtime/src/config.rs"
|
||||
- "crates/wasmtime/src/config/**"
|
||||
|
||||
"wasmtime:docs":
|
||||
- "*.md"
|
||||
- "docs/**"
|
||||
|
||||
13
.github/workflows/labeler.yml
vendored
13
.github/workflows/labeler.yml
vendored
@@ -1,13 +0,0 @@
|
||||
name: "Pull Request Labeler"
|
||||
on:
|
||||
schedule:
|
||||
# Run every 5 minutes.
|
||||
- cron: '*/5 * * * *'
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: bytecodealliance/labeler@schedule-fork
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
17
.github/workflows/subscribe-to-label.yml
vendored
17
.github/workflows/subscribe-to-label.yml
vendored
@@ -1,17 +0,0 @@
|
||||
name: "Subscribe to Label"
|
||||
on:
|
||||
issues:
|
||||
types: ["labeled"]
|
||||
schedule:
|
||||
# Run pull request triage every 5 minutes. Ideally, this would be on
|
||||
# "labeled" types of pull request events, but that doesn't work if the pull
|
||||
# request is from another fork. For example, see
|
||||
# https://github.com/actions/labeler/issues/12
|
||||
- cron: '*/5 * * * *'
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: bytecodealliance/subscribe-to-label-action@v1
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
34
.github/workflows/triage.yml
vendored
Normal file
34
.github/workflows/triage.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Issue / PR Triage"
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: ["labeled"]
|
||||
schedule:
|
||||
# Run pull request triage every 5 minutes. Ideally, this would be on
|
||||
# "labeled" types of pull request events, but that doesn't work if the pull
|
||||
# request is from another fork. For example, see
|
||||
# https://github.com/actions/labeler/issues/12
|
||||
- cron: '*/5 * * * *'
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
# Automatically label PRs that touch certain directories with certain
|
||||
# labels.
|
||||
- uses: bytecodealliance/labeler@schedule-fork
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
if: ${{ github.event_name == "schedule" }}
|
||||
|
||||
# @-mention people who are subscribed to a label when an issue/PR is given
|
||||
# that label.
|
||||
- uses: bytecodealliance/subscribe-to-label-action@v1
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
|
||||
# Leave pre-determined comments on issues/PRs that are given a certain label.
|
||||
- uses: bytecodealliance/label-messager-action@v1
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
Reference in New Issue
Block a user