Skip to content

Commit 00d9899

Browse files
authored
Merge pull request #1389 from tableau/202406-update-dev-guide
Developer guide updates
2 parents 4279210 + 4644126 commit 00d9899

File tree

1 file changed

+46
-14
lines changed

1 file changed

+46
-14
lines changed

docs/dev-guide.md

Lines changed: 46 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@ add your contributions to the **development** branch.
2020

2121
### Get the source code and set up your branch
2222

23-
1. Make sure you have
24-
[signed the CLA](https://tableau.github.io/contributing.html).
25-
2623
1. Fork the repository. We follow the "Fork and Pull" model as described
2724
[here](https://help.github.com/articles/about-collaborative-development-models/).
2825

@@ -170,15 +167,20 @@ section below for details.
170167
[here](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)
171168
against the **development** branch for code changes.
172169

170+
1. In your first pull request, the Salesforce Contributor License Agreement bot
171+
(`salesforce-cla`) will add a comment with instructions to follow.
172+
173173
1. Wait for a review and address any feedback. While we try and stay on top of
174-
all issues and PRs it might take a few days for someone to respond. Politely
175-
pinging the PR after a few days with no response is OK, we'll try and respond
174+
all issues and PRs it might take a while for someone to respond. Politely
175+
pinging the PR after a few days with no response is OK; we'll try and respond
176176
with a timeline as soon as we are able.
177177

178178
1. That's it! When the PR has received
179179
![](https://github.githubassets.com/images/icons/emoji/unicode/1f680.png){:height="5%"
180180
width="5%"} (:rocket:'s) from members of the core team they will merge the
181-
PR.
181+
PR. **Maintainers:** Make sure to choose a Squash Merge when merging a PR into
182+
the `development` branch; that will keep the timeline clean with just the
183+
final result from each PR.
182184

183185
## Updating documentation
184186

@@ -190,14 +192,10 @@ All of the documentation source files can be found in `/docs` folder in the
190192
**gh-pages** branch. The docs are hosted on the following URL:
191193
<https://tableau.github.io/server-client-python>.
192194

193-
If you are just making documentation updates (adding new docs, fixing typos,
194-
improving wording) the easiest method is to use the built-in `Edit this file`
195-
feature (the pencil icon) or the `Edit this page` link.
196-
197-
To make more significant changes or additions, please create a pull request
198-
against the **gh-pages** branch. When submitted along with a code pull request
199-
(as described above), you can include a link in the PR text so it's clear they
200-
go together.
195+
To make changes or additions to the documentation, please create a pull request
196+
against the **gh-pages** branch. Because the docs are in a separate branch, you
197+
would need to create a separate PR for your code versus docs changes. It's helpful
198+
to link them to each other in comments so it's clear they go together.
201199

202200
### Running docs locally
203201

@@ -215,3 +213,37 @@ To preview and run the documentation locally, these are the steps:
215213

216214
For more details, see the GitHub Pages topic on
217215
[testing locally](https://docs.github.com/en/github/working-with-github-pages/testing-your-github-pages-site-locally-with-jekyll).
216+
217+
## Release process (maintainers)
218+
219+
To do a release and publish a new version to [PyPI](https://pypi.org/project/tableauserverclient/),
220+
follow these steps:
221+
222+
1. Do a `development` to `master` branch merge. This should be a regular merge
223+
(not a squash) to ensure all individual commits are visible.
224+
225+
1. (Optional) Do a test publish to PyPI without creating the next version tag.
226+
This will create a pre-release package with a version like `0.30.post0.dev`.
227+
228+
1. On a local clone of the repo, create and push the tag for the *next* version
229+
(in this example it's "v0.31"):
230+
231+
```shell
232+
git fetch
233+
git fetch --tags
234+
git checkout master
235+
git pull
236+
git log # confirm most recent commit on master is the new release commit
237+
git tag -a v0.31 -m 'Release v0.31'
238+
git push origin tag v0.31
239+
```
240+
241+
1. Publish the updated release to PyPI by running the [Publish](https://github.com/tableau/server-client-python/actions/workflows/publish-pypi.yml)
242+
job and choosing the `master` branch.
243+
244+
1. The job should just take a few minutes to complete, then check the updated
245+
package exists on [PyPI](https://pypi.org/project/tableauserverclient/).
246+
247+
1. Create a release in GitHub with the title like "v0.31" and release notes
248+
with changes from the last release. You can try the automatic generation
249+
of notes, or just create a list of merged PR titles with reference PR numbers.

0 commit comments

Comments
 (0)