Skip to content

Commit ebf332e

Browse files
authored
Merge pull request #153 from rstudio/mbh-contributing
Add a fresh contribution doc that includes version and release info
2 parents 277929a + bd025fa commit ebf332e

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

CONTRIBUTING.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Contributing to `rsconnect-python`
2+
3+
This project aims to uphold Python [community norms](https://www.python.org/psf/conduct/) and make use of [recommended
4+
tooling](https://packaging.python.org/guides/tool-recommendations/).
5+
6+
## Workflow
7+
8+
The [`test` job in the default GitHub Actions workflow](.github/workflows/main.yml) reflects a typical set of steps for
9+
building and testing.
10+
11+
## Proposing Change
12+
13+
Any and all proposed changes are expected to be made via [pull
14+
request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests).
15+
16+
## Versioning and Releasing
17+
18+
All version and release management is done via [annotated git tags](https://git-scm.com/docs/git-tag), as this is the
19+
repo metadata used by the [`setuptools_scm`](https://github.com/pypa/setuptools_scm) package to generate the version
20+
string provided as `rsconnect:VERSION` and output by `rsconnect version`.
21+
22+
To create a new release, create and push an annotated git tag:
23+
24+
```bash
25+
git tag -a 1.2.3 -m 'Release 1.2.3'
26+
git push origin 1.2.3
27+
```
28+
29+
Once the tag push is received by GitHub, the relevant workflow action will be triggered and, upon successful completion,
30+
a release will be created and published to the repository
31+
[releases](https://github.com/rstudio/rsconnect-python/releases) and the public
32+
[PYPI](https://pypi.org/project/rsconnect-python/#history).
33+
34+
> **NOTE**: Pre-releases versions must comply with [PIP 440](https://www.python.org/dev/peps/pep-0440/) in order for
35+
> PIPY to appropriately mark them as pre-releases.

0 commit comments

Comments
 (0)