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:
Nick Fitzgerald
2022-02-15 14:09:03 -08:00
committed by GitHub
parent 6ffcd4ead9
commit 57618f746a
6 changed files with 92 additions and 30 deletions

3
.github/label-messager.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"wasmtime:config": ".github/label-messager/wasmtime-config.md"
}

View 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
View File

@@ -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/**"

View File

@@ -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 }}"

View File

@@ -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
View 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 }}"