Skip to content

Commit 47527f6

Browse files
bkeryanmshafer-NI
andauthored
docs: Update CONTRIBUTING.md to cover getting started, testing, and publishing (#42)
* docs: Update CONTRIBUTING.md to cover getting started, testing, and publishing * docs: Add note about immutable releases * docs: Fix note formatting * docs: Clarify what you can do with published releases * docs: Be more specific about who can create releases Co-authored-by: mshafer-NI <[email protected]> --------- Co-authored-by: mshafer-NI <[email protected]>
1 parent 9768589 commit 47527f6

File tree

1 file changed

+60
-10
lines changed

1 file changed

+60
-10
lines changed

CONTRIBUTING.md

Lines changed: 60 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Contributing to `ni/python-actions`
1+
# Contributing to `ni/python-actions`
22

33
Contributions to `ni/python-actions` are welcome from all!
44

@@ -19,15 +19,65 @@ this repository.
1919

2020
See [GitHub's official documentation](https://help.github.com/articles/using-pull-requests/) for more details.
2121

22-
# Getting Started
23-
24-
- TODO: include build steps here.
25-
26-
# Testing
27-
28-
- TODO: include testing steps here.
29-
30-
# Developer Certificate of Origin (DCO)
22+
## Getting Started
23+
24+
To contribute to this project, it is recommended that you follow these steps:
25+
26+
- Fork the repository on GitHub.
27+
- Run the PR workflow on your fork of the repository. At this point, if any tests fail, do not begin
28+
development. Try to investigate these failures. If you're unable to do so, report an issue through
29+
our GitHub issues page.
30+
- Write new tests that demonstrate your bug or feature. Ensure that these new tests fail.
31+
- Make your change.
32+
- Run all the regression tests again (including the tests you just added), and confirm that they all
33+
pass.
34+
- Send a GitHub Pull Request to the main repository's `main` branch. GitHub Pull Requests are the
35+
expected method of code collaboration on this project.
36+
37+
## Testing
38+
39+
To run the `ni/python-actions` regression tests, run the following command:
40+
41+
```bash
42+
gh workflow run PR.yml --ref users/me/my-dev-branch
43+
```
44+
45+
View the workflow status and logs using the GitHub web UI.
46+
47+
## Publishing a Release
48+
49+
Maintainers can publish `ni/python-actions` by creating a GitHub release in the `ni/python-actions` repo.
50+
Here are the steps to follow to publish the package:
51+
52+
- From the main GitHub repo page, select "Create a new release".
53+
- On the "New Release" page, create a new tag using the "Select Tag" drop down. The tag must be the
54+
letter 'v' followed the version number. Example: v0.1.2.
55+
- Enter a title in the "Release title" field. The title should contain the repo name and version
56+
tag. For example: ni/python-actions v0.1.2.
57+
- Click "Generate release notes" and edit the release notes.
58+
- Delete entries for PRs that do not affect users, such as "chore(deps):" and "fix(deps):" PRs.
59+
However, consider including significant dependency updates, such as major version updates.
60+
- Consider grouping related entries.
61+
- Reformat entries to be more readable. For example, change "Blah blah by so-and-so in \#123" to
62+
"Blah blah (\#123)".
63+
- If this is a pre-release release, check the "Set as a pre-release" checkbox.
64+
- Click "Publish release".
65+
- This repository does not have a publish workflow yet, so you must manually update the `v{major}`
66+
and `v{major}.{minor}` tags:
67+
68+
```bash
69+
git checkout v0.1.2
70+
git tag -f v0.1
71+
git tag -f v0
72+
git push -f origin v0.1
73+
git push -f origin v0
74+
```
75+
76+
> [!NOTE]
77+
> This GitHub project has immutable releases enabled. Once you publish a release, you can only edit
78+
> the title and description. You cannot modify the full release tag (e.g. `v0.1.2`).
79+
80+
## Developer Certificate of Origin (DCO)
3181

3282
Developer's Certificate of Origin 1.1
3383

0 commit comments

Comments
 (0)