Skip to content

Commit 51ea98a

Browse files
chore: issue templates + readme updates + common gha (#226)
* chore: issue templates + readme updates + common gha Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com> * chore: add contributing guide Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com> * chore: link contributing guide in readme Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com> * chore: update contributing guide Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com> * chore: update contributing guide Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com> --------- Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
1 parent 1b44619 commit 51ea98a

File tree

8 files changed

+325
-9
lines changed

8 files changed

+325
-9
lines changed
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: 🐜 Bug Report
2+
description: Tell us about something not working properly
3+
labels: [ "kind/bug", "priority/needs-triage" ]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
# Bug Report
9+
10+
Thanks for helping make the Kubeflow project better!
11+
12+
- type: checkboxes
13+
attributes:
14+
label: Checks
15+
options:
16+
- label: I have searched the [existing issues](https://github.com/kubeflow/notebooks/issues).
17+
required: true
18+
- label: My issue is related to one of the components in the [`kubeflow/notebooks`](https://github.com/kubeflow/notebooks) repository.
19+
required: true
20+
21+
- type: input
22+
id: kubeflow-notebooks-version
23+
attributes:
24+
label: Kubeflow Notebooks Version
25+
placeholder: X.X.X
26+
validations:
27+
required: true
28+
29+
- type: input
30+
id: kubeflow-platform
31+
attributes:
32+
label: Kubeflow Platform
33+
description: Which method did you use to [install](https://www.kubeflow.org/docs/started/installing-kubeflow/#kubeflow-platform) your Kubeflow Platform?
34+
placeholder: ...
35+
validations:
36+
required: true
37+
38+
- type: input
39+
id: kubernetes-distribution
40+
attributes:
41+
label: Kubernetes Distribution
42+
description: How are you running Kubernetes?
43+
placeholder: EKS / GKE / AKS / k3d / custom / etc.
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: kubernetes-version
49+
attributes:
50+
label: Kubernetes Version
51+
description: Output of `kubectl version` command.
52+
placeholder: |
53+
Client Version: version.Info{Major:"X", Minor:"XX", GitVersion:"vX.X.X", ...}
54+
Server Version: version.Info{Major:"X", Minor:"XX", GitVersion:"vX.X.X", ...}
55+
render: shell
56+
validations:
57+
required: true
58+
59+
- type: textarea
60+
id: description
61+
attributes:
62+
label: Description
63+
description: The __context__ the problem occurred in, and an __overview__ of what went wrong.
64+
placeholder: I was trying to... but then...
65+
validations:
66+
required: true
67+
68+
- type: textarea
69+
id: logs
70+
attributes:
71+
label: Relevant Logs
72+
description: Outputs of commands like `kubectl logs my-pod` or `kubectl describe pods my-pod`.
73+
placeholder: |
74+
* include any relevant log outputs here *
75+
render: shell
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: 💡 Feature Request
2+
description: Suggest an idea for the project
3+
labels: [ "kind/enhancement", "priority/needs-triage" ]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
# Feature Request
9+
10+
Thanks for helping make the Kubeflow project better!
11+
12+
- type: checkboxes
13+
attributes:
14+
label: Checks
15+
options:
16+
- label: I have searched the [existing issues](https://github.com/kubeflow/notebooks/issues).
17+
required: true
18+
- label: My request is related to one of the components in the [`kubeflow/notebooks`](https://github.com/kubeflow/notebooks) repository.
19+
required: true
20+
21+
- type: textarea
22+
id: motivation
23+
attributes:
24+
label: Motivation
25+
description: What has motivated your request?
26+
placeholder: |
27+
* This is the most important part of the request *
28+
29+
* Help us understand what you are trying to achieve, try to separate it from any implementation you may have in mind *
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: implementation
35+
attributes:
36+
label: Implementation
37+
description: What is your proposed implementation?
38+
placeholder: |
39+
* It's fine to leave this blank if you don't have an implementation already in mind *
40+
41+
- type: checkboxes
42+
attributes:
43+
label: Are you willing & able to help?
44+
options:
45+
- label: I am able to submit a PR!
46+
- label: I can help test the feature!

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Kubeflow Documentation
4+
url: https://www.kubeflow.org/
5+
about: Kubeflow Documentation
6+
7+
- name: Kubeflow Documentation - Notebooks
8+
url: https://www.kubeflow.org/docs/components/notebooks/
9+
about: Kubeflow Notebooks Documentation
10+
11+
- name: "Kubeflow Slack (join `#kubeflow-notebooks` channel)"
12+
url: https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels
13+
about: Join the Kubeflow Slack

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<!--
2+
⚠️ please review https://www.kubeflow.org/docs/about/contributing/
3+
4+
Thank you for contributing to Kubeflow!
5+
6+
If there are related issues, please reference them using one of the following:
7+
8+
closes: #ISSUE
9+
related: #ISSUE
10+
11+
Please remember:
12+
- provide enough information so that others can review your pull request
13+
- use a semantic title for your pull request (like "fix: xxxxx" or "feat: xxxxx", see contributing guide)
14+
- the title of your pull request will be used to generate the changelog entry, so make it count!
15+
-->
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Approve Workflow Runs
2+
3+
permissions:
4+
actions: write
5+
contents: read
6+
7+
on:
8+
pull_request_target:
9+
types:
10+
- labeled
11+
- synchronize
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
ok-to-test:
19+
if: contains(github.event.pull_request.labels.*.name, 'ok-to-test')
20+
runs-on: ubuntu-latest
21+
continue-on-error: true
22+
23+
steps:
24+
- name: Approve Pending Workflow Runs
25+
uses: actions/github-script@v7
26+
with:
27+
retries: 3
28+
script: |
29+
const request = {
30+
owner: context.repo.owner,
31+
repo: context.repo.repo,
32+
event: "pull_request",
33+
status: "action_required",
34+
head_sha: context.payload.pull_request.head.sha,
35+
}
36+
37+
core.info(`Getting workflow runs that need approval for commit ${request.head_sha}`)
38+
const runs = await github.paginate(github.rest.actions.listWorkflowRunsForRepo, request)
39+
40+
core.info(`Found ${runs.length} workflow runs that need approval`)
41+
for (const run of runs) {
42+
core.info(`Approving workflow run ${run.id}`)
43+
const request = {
44+
owner: context.repo.owner,
45+
repo: context.repo.repo,
46+
run_id: run.id,
47+
}
48+
await github.rest.actions.approveWorkflowRun(request)
49+
}

.github/workflows/stale.yaml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Stale Issues and Pull Requests
2+
3+
permissions:
4+
issues: write
5+
pull-requests: write
6+
7+
on:
8+
schedule:
9+
- cron: '0 0 * * *' # Run every day at midnight
10+
11+
jobs:
12+
stale:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/stale@v9
16+
with:
17+
days-before-stale: 60
18+
days-before-close: 21
19+
20+
stale-issue-label: lifecycle/stale
21+
exempt-issue-labels: lifecycle/frozen,kind/enhancement
22+
23+
stale-pr-label: lifecycle/stale
24+
exempt-pr-labels: lifecycle/frozen,kind/enhancement
25+
26+
# The message that will be added as a comment to the issues
27+
# when the stale workflow marks it automatically as stale with a label.
28+
stale-issue-message: |
29+
This issue has been automatically marked as stale because it has not had recent activity.
30+
It will be closed if no further activity occurs.
31+
Thank you for your contributions.
32+
33+
Members may comment `/lifecycle frozen` to prevent this issue from being marked as stale.
34+
35+
# The message that will be added as a comment to the issues
36+
# when the stale workflow closes it automatically after being stale for too long.
37+
close-issue-message: |
38+
This issue has been automatically closed because it has not had recent activity.
39+
40+
Members may comment `/reopen` to reopen it.
41+
42+
# The message that will be added as a comment to the pull requests
43+
# when the stale workflow marks it automatically as stale with a label.
44+
stale-pr-message: |
45+
This pull request has been automatically marked as stale because it has not had recent activity.
46+
It will be closed if no further activity occurs.
47+
Thank you for your contributions.
48+
49+
Members may comment `/lifecycle frozen` to prevent this pull request from being marked as stale.
50+
51+
# The message that will be added as a comment to the pull requests
52+
# when the stale workflow closes it automatically after being stale for too long.
53+
close-pr-message: |
54+
This pull request has been automatically closed because it has not had recent activity.
55+
You can reopen the PR if you want.
56+
57+
# The issues or the pull requests with a milestone will not be marked as stale automatically
58+
exempt-all-milestones: true
59+
60+
# Learn more about operations: https://github.com/actions/stale#operations-per-run.
61+
operations-per-run: 250

CONTRIBUTING.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Contributing to Kubeflow Notebooks
2+
3+
Welcome to the Kubeflow Notebooks project!
4+
Contributions are welcome via GitHub pull requests.
5+
6+
Please see the [Contributing to Kubeflow](https://www.kubeflow.org/docs/about/contributing/) page for more information.
7+
8+
## Sign Your Work
9+
10+
To certify you agree to the [Developer Certificate of Origin](https://developercertificate.org/) you must sign-off each commit message using `git commit --signoff`, or manually write the following:
11+
12+
```text
13+
feat(ws): my commit message`
14+
15+
Signed-off-by: John Smith <john-smith@users.noreply.github.com>
16+
```
17+
18+
## Use Semantic Commits
19+
20+
We use [semantic commits](https://www.conventionalcommits.org/en/v1.0.0/) to help us automatically generate changelogs and release notes.
21+
22+
### Prefixes
23+
24+
A semantic commit message must start with one of the following __prefixes__:
25+
26+
- `fix:` (bug fixes)
27+
- `feat:` (new features)
28+
- `improve:` (improvements to existing features)
29+
- `refactor:` (code changes that neither fixes a bug nor adds a feature)
30+
- `revert:` (reverts a previous commit)
31+
- `test:` (adding missing tests, refactoring tests; no production code change)
32+
- `ci:` (changes to CI configuration or build scripts)
33+
- `docs:` (documentation only changes)
34+
- `chore:` (ignored in changelog)
35+
36+
To indicate a breaking change, add `!` after the prefix, e.g. `feat!: my commit message`.
37+
38+
### Scopes
39+
40+
You may optionally include a __scope__ after the prefix, for example:
41+
42+
- `nb` (changes to notebooks - web-app, controller, images)
43+
- `pvc` (changes to volumes - web-app, controller)
44+
- `tb` (changes to tensorboards - web-app, controller)
45+
- `ws` (changes to workspaces - frontend, backend, controller, images)
46+
47+
### Examples
48+
49+
Here are some examples of semantic commit messages:
50+
51+
- `fix(nb): something that was broken`
52+
- `feat(ws): a new feature`
53+
- `improve: a general improvement`
54+
- `chore: update readme`

README.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
[Kubeflow Notebooks](https://www.kubeflow.org/docs/components/notebooks/overview/) lets you run web-based development environments on your Kubernetes cluster by running them inside Pods.
44

5+
> ⚠️ __Note__ ⚠️
6+
>
7+
> We are currently moving the _Kubeflow Notebooks 1.0_ codebase from [`kubeflow/kubeflow`](https://github.com/kubeflow/kubeflow) to this repository ([`kubeflow/notebooks`](https://github.com/kubeflow/notebooks)).
8+
> Please see [`kubeflow/kubeflow#7549`](https://github.com/kubeflow/kubeflow/issues/7549) for more information.
9+
>
10+
> We are currently developing _Kubeflow Notebooks 2.0_ in this repository under the [`notebooks-v2`](https://github.com/kubeflow/notebooks/tree/notebooks-v2) branch.
11+
> Please see [`kubeflow/notebooks#85`](https://github.com/kubeflow/notebooks/issues/85) for more information.
12+
513
## What is Kubeflow Notebooks?
614

715
Key features of Kubeflow Notebooks:
@@ -13,7 +21,7 @@ Key features of Kubeflow Notebooks:
1321

1422
## Installation
1523

16-
Currently, Kubeflow Notebooks must be deployed as part of a full Kubeflow platform (not as a standalone component).
24+
Kubeflow Notebooks is designed to be deployed as part of a [Kubeflow Platform](https://www.kubeflow.org/docs/started/introduction/#what-is-kubeflow-platform) (not as a standalone component).
1725

1826
Please refer to the [Installing Kubeflow](https://www.kubeflow.org/docs/started/installing-kubeflow/) page for more information.
1927

@@ -25,16 +33,11 @@ The official documentation for Kubeflow Notebooks can be found [here](https://ww
2533

2634
Kubeflow Notebooks is part of the Kubeflow project, refer to the [Kubeflow Community](https://www.kubeflow.org/docs/about/community/) page for more information.
2735

28-
Connect with _other users_ and the [Notebooks Working Group](https://github.com/kubeflow/community/tree/master/wg-notebooks) in the following places:
36+
Connect with _other users_ and the [Notebooks Working Group](https://github.com/kubeflow/community/tree/master/wg-notebooks) (maintainers of Kubeflow Notebooks) in the following places:
2937

30-
- [Kubeflow Slack](https://www.kubeflow.org/docs/about/community/#kubeflow-slack) - Join the [`#kubeflow-notebooks`](https://kubeflow.slack.com/archives/CESP7FCQ7) channel.
38+
- [Kubeflow Slack](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels) - Join the [`#kubeflow-notebooks`](https://cloud-native.slack.com/archives/C073W562HFY) channel.
3139
- [Kubeflow Mailing List](https://groups.google.com/g/kubeflow-discuss)
3240

3341
## Contributing
3442

35-
> ⚠️ __Note__ ⚠️
36-
>
37-
> We are currently moving the Kubeflow Notebooks codebase from [`kubeflow/kubeflow`](https://github.com/kubeflow/kubeflow) to this repository ([`kubeflow/notebooks`](https://github.com/kubeflow/notebooks)).
38-
> For now, please continue to make contributions by raising PRs on `kubeflow/kubeflow`.
39-
40-
Please see the [Contributing to Kubeflow](https://www.kubeflow.org/docs/about/contributing/) page for more information.
43+
Please see the [`CONTRIBUTING.md`](CONTRIBUTING.md) file for more information.

0 commit comments

Comments
 (0)