ghcontrib
This module provides functions to check that pull requests conform toproject standards. It uses the GitHub CLI (gh) to inspect PR metadata
and validates titles, Linear references, labels, and other properties.
Installation
dagger install github.com/papercomputeco/daggerverse/ghcontrib@45e997aec734ec4875ff57bebed2317e1bd49185Entrypoint
Return Type
Ghcontrib !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| token | Secret ! | - | GitHub token. |
| repo | String ! | - | GitHub repository (e.g. "owner/repo"). |
Example
dagger -m github.com/papercomputeco/daggerverse/ghcontrib@45e997aec734ec4875ff57bebed2317e1bd49185 call \
--token env:MYSECRET --repo stringfunc (m *MyModule) Example(token *dagger.Secret, repo string) *dagger.Ghcontrib {
return dag.
Ghcontrib(token, repo)
}@function
def example(token: dagger.Secret, repo: str) -> dagger.Ghcontrib:
return (
dag.ghcontrib(token, repo)
)@func()
example(token: Secret, repo: string): Ghcontrib {
return dag
.ghcontrib(token, repo)
}Types
Ghcontrib 🔗
checkPullRequest() 🔗
CheckPullRequest validates that a pull request conforms to project standards. It checks that the PR title follows the required emoji conventional format.
This is intended to be called from a GitHub Actions workflow where the GitHub token and PR metadata are available.
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| number | Integer ! | - | The pull request number to check |
Example
dagger -m github.com/papercomputeco/daggerverse/ghcontrib@45e997aec734ec4875ff57bebed2317e1bd49185 call \
--token env:MYSECRET --repo string check-pull-request --number integerfunc (m *MyModule) Example(ctx context.Context, token *dagger.Secret, repo string, number int) string {
return dag.
Ghcontrib(token, repo).
CheckPullRequest(ctx, number)
}@function
async def example(token: dagger.Secret, repo: str, number: int) -> str:
return await (
dag.ghcontrib(token, repo)
.check_pull_request(number)
)@func()
async example(token: Secret, repo: string, number: number): Promise<string> {
return dag
.ghcontrib(token, repo)
.checkPullRequest(number)
}checkPullRequestLinearMagicWord() 🔗
CheckPullRequestLinearMagicWord validates that a pull request title or body references a Linear issue using a GitHub magic word, e.g. “fixes PCC-123”.
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| number | Integer ! | - | The pull request number to check |
Example
dagger -m github.com/papercomputeco/daggerverse/ghcontrib@45e997aec734ec4875ff57bebed2317e1bd49185 call \
--token env:MYSECRET --repo string check-pull-request-linear-magic-word --number integerfunc (m *MyModule) Example(ctx context.Context, token *dagger.Secret, repo string, number int) string {
return dag.
Ghcontrib(token, repo).
CheckPullRequestLinearMagicWord(ctx, number)
}@function
async def example(token: dagger.Secret, repo: str, number: int) -> str:
return await (
dag.ghcontrib(token, repo)
.check_pull_request_linear_magic_word(number)
)@func()
async example(token: Secret, repo: string, number: number): Promise<string> {
return dag
.ghcontrib(token, repo)
.checkPullRequestLinearMagicWord(number)
}