-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: add release process #193
Conversation
5464e7b
to
d29f39c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for preparing this, @pro-wh, it will be really useful.
As for location and caps vs. lower case of this doc, we use docs/release-process.md
in Oasis Core and some other Oasis projects 🙂.
3eb92f5
to
85aba9a
Compare
new copy with everyone's suggestions, thanks relevant diffsdiff --git a/docs/changelog.md b/CHANGELOG.md
similarity index 98%
rename from docs/changelog.md
rename to CHANGELOG.md
index 5211b90..c4c2e74 100644
--- a/docs/changelog.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-# Changelog
+# Change Log
## 1.0.0
diff --git a/README.md b/README.md
index c69b66f..72717d6 100644
--- a/README.md
+++ b/README.md
@@ -99,9 +99,18 @@ yarn test
yarn buildProd
```
-## Preparing a Release
+## Preparing a Production Release Build
-Follow the applicable steps in the [release process doc](docs/RELEASE-PROCESS.md)
+```sh
+VERSION=<VERSION>
+rm -rf dist/
+yarn install --frozen-lockfile
+yarn buildProd
+zip -r oasis-wallet-$VERSION-$(git rev-parse --short HEAD).zip dist/
+```
+
+If you're actually making a new release, follow the applicable steps in the
+[release process doc](docs/release-process.md)
## LICENSE
diff --git a/docs/RELEASE-PROCESS.md b/docs/release-process.md
similarity index 60%
rename from docs/RELEASE-PROCESS.md
rename to docs/release-process.md
index 2983a3d..1a562e2 100644
--- a/docs/RELEASE-PROCESS.md
+++ b/docs/release-process.md
@@ -1,7 +1,7 @@
-# Release process
+# Release Process
-## Determine the new version
-Extension versions may not have suffixes like "-rc1."
+## Determine the New Version
+Extension versions may not have suffixes like "-rc1".
We are incrementing patch versions to differentiate release candidate builds.
For example, the 1.0 release will start with a build at version 1.0.0.
@@ -10,15 +10,15 @@ If changes are needed, we move to the next build at version 1.0.1.
Version 1.0.1 is also a release candidate at first.
If no changes are needed, 1.0.1 becomes the first public release of 1.0.
-## Set the new version throughout
+## Set the New Version Throughout
You must update:
-- config.js
-- package.json
-- public/manifest.json
+- `config.js`
+- `package.json`
+- `public/manifest.json`
-## Add a changelog section
-Here's the [changelog](changelog.md).
+## Add a Change Log Section
+Here's the [Change Log](../CHANGELOG.md).
If there is an "Unreleased changes" section, rename it to the new version.
Do not include a "v" prefix in the heading.
@@ -34,16 +34,16 @@ Suggested sections:
Items may include a link to GitHub issues if there is a relevant one, e.g. in bug fixes.
We especially encourage linking externally reported issues.
-If you feel like it, move one changelog item to a section on top titled "Spotlight change."
+If you feel like it, move one Change Log item to a section on top titled "Spotlight change".
-## Propose the new version
-Open a pull request (PR) for the version changes and changelog update, ideally separate from
+## Propose the New Version
+Open a pull request (PR) for the version changes and Change Log update, ideally separate from
any other changes.
When this PR gets merged into `master`, the chosen version permanently associated with the merge
commit.
-## Prepare an unsigned archive
+## Prepare an Unsigned Archive
Clean the output directory, build, and package:
```sh
@@ -54,29 +54,34 @@ yarn buildProd
zip -r oasis-wallet-$VERSION-$(git rev-parse --short HEAD).zip dist/
```
-## Add a pre-release on GitHub
+## Add a Pre-Release on GitHub
Create a tag and create a
[new release](https://github.com/oasisprotocol/oasis-wallet-ext/releases/new) on GitHub.
-TODO: standards on GitHub release title
+Enter "Oasis Wallet Release Candidate" for the title.
-Our changelog is a file under version control, so all we do is put the link in the description:
+Our Change Log is a file under version control, so all we do is put the link in the description:
```md
-_Note: This is an internal release candidate._
+See the [Change Log](CHANGELOG.md) for what's new in this release.
-See the [changelog](docs/changelog.md) for what's new in this release.
+_Note: This is an internal release candidate._
```
Add the unsigned archive as an asset.
Check the box to indicate that this is a pre-release.
-## Submit crx for review
+## Submit Package for Review
-(Contact our web store account admins for this step.)
+This step is for our web store account admins.
+Contact an admin if you don't have access.
+Go to [Chrome Web Store Developer Dashboard](https://chrome.google.com/webstore/devconsole/),
+browse to the _Oasis Wallet_ item,
+select _Package_ in the side bar and
+choose _Upload new package_.
-## Update GitHub pre-release
+## Update GitHub Pre-Release
Change the description:
```diff
@@ -85,3 +90,5 @@ Change the description:
```
Uncheck the pre-release box.
+
+Upload the artifact without the Git commit hash. |
72d55bb
to
44719cc
Compare
e64d690
to
924bfbf
Compare
Co-authored-by: Jernej Kos <[email protected]> Co-authored-by: Tadej Janež <[email protected]>
924bfbf
to
3482790
Compare
fixed missing version from release title added a step to remove "Release Candidate" from gh rel add a note not to add git commit hash to the unsigned archive filename |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, @pro-wh!
I found that Chrome wouldn't let me load an extension where the version is set to something like
1.0.0-rc1
, so we've come up with this thing where we'll use the patch number for release candidate builds leading up to a public release. This new document describes that.rendered