We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.
Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.
You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.
This project follows Google's Open Source Community Guidelines.
Docsy welcomes contributions from students. However, we cannot guarantee that PRs will be merged within any specific time frame. We ask that instructors not create assignments requiring students to have PRs merged into the project. We will not merge PRs solely to satisfy any class assignments.
See the contribution guidelines in the Docsy user guide.
These notes are WIP for creating a release (v0.X.Y) from a local copy of the repo.
-
Change directory to your local Docsy repo.
-
Create or update a CHANGELOG entry for v0.X.Y. The section should provide a brief summary of breaking changes using the section template at the end of the file. (Note that change details are autogenerated by GitHub in a later step.)
-
Update Docsy version to v0.X.Y for:
version
key in package.jsonversion
key in userguide/hugo.yaml
-
Run
npm install
to have vendor assets and go.mod updated for dependencies. -
Submit a PR with your changes, using a title like "Release v0.X.Y preparation".
-
Get PR approved and merged.
-
Pull in
main
to get the last PR. -
Ensure that you're:
- On the default branch,
main
- At the commit that you want to tag as v0.X.Y
- On the default branch,
-
Create tags for v0.X.Y:
REL=v0.X.Y git tag $REL
-
Push the new tags to the main repo, which is named
upstream
in the following example:$ git push upstream $REL ... * [new tag] v0.X.Y -> v0.X.Y
-
Draft a new release using GitHub web; fill in the fields as follows:
-
From the release/tag dropdown: Select the new release tag that you just pushed, v0.X.Y.
-
Set the release title to the release number (without the "v").
-
Click Generate release notes to get the release details inserted into the release notes text area.
-
Add the following text atop the generated release notes, but replace the
0XY
anchor target with a target appropriate for this release:## Release summary See, https://github.com/google/docsy/blob/main/CHANGELOG.md#0XY
-
Select Create a discussion for this release.
-
-
Publish the release: click Publish release.
-
Test the release with a downstream project, such as docsy-example.
-
If you find issues, determine whether they need to be fixed immediately. If so, get fixes submitted, reviewed and approved. Then publish a dot release: go back to step 1.
Assuming that Docsy release v0.X.Y has been successfully deployed and use by at least one downstream project, then perform the following actions before any further changes are merged into the default branch:
- Set
version
in package.json to the next planned (or the next dot) release with a dev suffix, such asv0.X.Z-dev.0-unreleased
. - In the CHANGELOG:
- Create a new entry for the next release by copying the ENTRY TEMPLATE at the end of the file.
- Pin the 0.X.Y release URL, which ends with
latest?FIXME=...
, to the v0.X.Y release athttps://github.com/google/docsy/releases/v0.x.y
.
- Submit a PR with your changes, using a title like "Set NPM package version to next unreleased dev".
- Get PR approved and merged.