Skip to content

Commit e46a1b7

Browse files
Add relevant GH templates and linters from workflow
Copies the PR template, relevant issue templates, and GH linter actions from global-workflow.
1 parent ecabf5a commit e46a1b7

File tree

6 files changed

+245
-0
lines changed

6 files changed

+245
-0
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Bug report
2+
description: Report something that is incorrect or broken
3+
labels: ["bug", "triage"]
4+
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Your bug may already be reported!
10+
Please search on the [Issue tracker](https://github.com/NOAA-EMC/global-workflow/issues) before creating one.
11+
12+
- type: textarea
13+
id: current_behavior
14+
attributes:
15+
label: What is wrong?
16+
description: Give a brief description of what is incorrect or broken.
17+
placeholder: |
18+
Short log snippets that illustrate the problem can be included here.
19+
20+
For any longer logs, please create a GitHub gist (https://gist.github.com/) and link it here.
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: expected_behavior
26+
attributes:
27+
label: What should have happened?
28+
placeholder: Describe what you expected to happen.
29+
validations:
30+
required: true
31+
32+
- type: dropdown
33+
id: hpc
34+
attributes:
35+
label: What machines are impacted?
36+
description: You may select multiple machines.
37+
multiple: true
38+
options:
39+
- All or N/A
40+
- WCOSS2
41+
- Hera
42+
- Orion
43+
- Hercules
44+
- Jet
45+
- Cloud
46+
validations:
47+
required: true
48+
49+
- type: textarea
50+
id: reproduction_steps
51+
attributes:
52+
label: Steps to reproduce
53+
description: Please give explicit instructions to reproduce the error
54+
placeholder: |
55+
1.
56+
2.
57+
3.
58+
validations:
59+
required: true
60+
61+
- type: textarea
62+
id: description
63+
attributes:
64+
label: Additional information
65+
description: Provide context or any additional information about the bug.
66+
validations:
67+
required: true
68+
69+
- type: textarea
70+
id: propsed_implementation
71+
attributes:
72+
label: Do you have a proposed solution?
73+
description: If you already have an idea on how to fix this, please provide it here.
74+
placeholder: Optional
75+
validations:
76+
required: false

.github/ISSUE_TEMPLATE/config.yml

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Feature request
2+
description: Request new capability
3+
labels: ["feature", "triage"]
4+
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
If your issue falls into one of the follow categories, please go back and use the appropriate template:
10+
- Something is wrong or broken
11+
- It is a request from NCO
12+
- It is initiating a production update
13+
- Files need to be updated or added to fix
14+
15+
16+
Please search on the [Issue tracker](https://github.com/NOAA-EMC/global-workflow/issues) to make sure the feature has not already been requested to avoid duplicates.
17+
18+
- type: textarea
19+
id: description
20+
attributes:
21+
label: What new functionality do you need?
22+
placeholder: Provide a consise description of the problem to be addressed by this feature request. Please be clear what parts of the problem are considered to be in-scope and out-of-scope
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
id: requirements
28+
attributes:
29+
label: What are the requirements for the new functionality?
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: criteria
35+
attributes:
36+
label: Acceptance Criteria
37+
placeholder: What does it mean for this issue to be complete?
38+
validations:
39+
required: true
40+
41+
- type: textarea
42+
id: suggested_solution
43+
attributes:
44+
label: Suggest a solution (optional)
45+
placeholder: |
46+
Propose how this issue can be resolved.
47+
48+
Things to address include:
49+
* Details of the technical implementation
50+
* Tradeoffs made in design decisions
51+
* Caveats and considerations for the future
52+
53+
If there are multiple solutions, please present each one separately. Save comparisons for the very end.)"
54+
validations:
55+
required: false

.github/pull_request_template.md

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<!-- PLEASE READ -->
2+
<!-- Any PRs not following this template will be closed -->
3+
<!--
4+
Please use a short (<60 char), descriptive title above. It should complete the sentence "If merged, this PR will _____". Capitalize the first word and do not end with a period.
5+
6+
PRs should meet these guidelines:
7+
- Each PR should address ONE topic and have an associated issue.
8+
- No hard-coded paths or personal directories.
9+
- No temporary or backup files should be committed (including logs).
10+
- Any code that you disabled by being commented out should be removed or reenabled.
11+
12+
Please delete all these comments before submitting the PR.
13+
-->
14+
# Description
15+
<!-- This description will become the commit message for the PR-->
16+
<!-- Please use this format for your description:
17+
18+
Describe your changes. Focus on the *what* and *why*. The *how* will be evident from the changes. In particular, be sure to note any interface changes, such as command line syntax, that will need to be communicated to users.
19+
20+
At the end of your description, please be sure to add the issue this PR solves using the word "Resolves". If there are any issues that are related but not yet resolved (including in other repos), you may use "Refs".
21+
22+
Resolves #1234
23+
Refs #4321
24+
Refs NOAA-EMC/repo#5678
25+
-->
26+
27+
# Type of change
28+
<!-- Delete all except one -->
29+
- Bug fix (fixes something broken)
30+
- New feature (adds functionality)
31+
- Maintenance (code refactor, clean-up, new CI test, etc.)
32+
33+
# Change characteristics
34+
- Is this a breaking change (a change in existing functionality)? YES/NO
35+
- Does this change require a documentation update? YES/NO
36+
37+
# How has this been tested?
38+
<!-- Please list any test you conducted, including the machine.
39+
40+
Example:
41+
- Clone and build on WCOSS
42+
- Cycled test with workflow with bufr and gempak on
43+
-->
44+
45+
# Checklist
46+
- [ ] Any dependent changes have been merged and published
47+
- [ ] My code follows the style guidelines of this project
48+
- [ ] I have performed a self-review of my own code
49+
- [ ] I have commented my code, particularly in hard-to-understand areas
50+
- [ ] My changes generate no new warnings
51+
- [ ] New and existing tests pass with my changes
52+
- [ ] I have made corresponding changes to the documentation if necessary

.github/workflows/linters.yaml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#
2+
name: shellnorms
3+
on:
4+
pull_request:
5+
6+
permissions:
7+
contents: read
8+
9+
defaults:
10+
run:
11+
shell: bash -o pipefail {0}
12+
13+
jobs:
14+
lint-shell:
15+
runs-on: ubuntu-latest
16+
17+
permissions:
18+
security-events: write
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v3
23+
with:
24+
fetch-depth: 0
25+
26+
- id: ShellCheck
27+
name: Lint shell scripts
28+
uses: redhat-plumbers-in-action/differential-shellcheck@v4
29+
with:
30+
token: ${{ secrets.GITHUB_TOKEN }}
31+
32+
- if: ${{ always() }}
33+
name: Upload artifact with ShellCheck defects in SARIF format
34+
uses: actions/upload-artifact@v3
35+
with:
36+
name: Differential ShellCheck SARIF
37+
path: ${{ steps.ShellCheck.outputs.sarif }}

.github/workflows/pynorms.yaml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: pynorms
2+
on: [push, pull_request]
3+
4+
jobs:
5+
check_norms:
6+
runs-on: ubuntu-latest
7+
name: Check Python coding norms with pycodestyle
8+
9+
steps:
10+
11+
- name: Install dependencies
12+
run: |
13+
pip install --upgrade pip
14+
pip install pycodestyle
15+
16+
- name: Checkout
17+
uses: actions/checkout@v3
18+
with:
19+
path: global-workflow
20+
21+
- name: Run pycodestyle
22+
run: |
23+
cd $GITHUB_WORKSPACE/global-workflow
24+
pycodestyle -v --config ./.pycodestyle ./

0 commit comments

Comments
 (0)