Here we document the various release processes and other boring topics.
All new releases first go through the dev version of the extension. This way we can get early feedback from testers on obvious issues without breaking the (much larger) stable user base.
https://chrome.google.com/webstore/developer/detail/okddffdblfhhnmhodogpojmfkjmhinfp
Now would be a good time to go through and do sub-releases of other projects. e.g. See if hterm or libdot has had any changes. If so, update their respective ChangeLog files and create a new git tag for each of them.
If you look at the ChangeLogs and git tag -l
, it should be obvious how to do this. If you're still unsure, consult these as examples:
Don‘t forget to push the tags once you’ve created them locally!
We don't currently use signed tags.
Update the ChangeLog.md file with any relevant details since the last release, and update the version in the manifest.json. Add any significant changes to concat/release-highlights.txt.
See commit 6b11740fa3eb500ea07efc684af7e75543ea3448 and tag nassh-0.8.36.2 as examples.
Don‘t forget to push the tag once you’ve created it locally!
We don't currently use signed tags.
You will need to make sure you have the current ssh_client release files under the plugins/ directory. Consult the hack.md document for details on acquiring those files.
The bin/mkzip.sh helper script is used to create the zip file for uploading to the CWS. It operates on the current checked out repo, so make sure it's clean!
Visit the CWS dashboard to upload the new zip file:
https://chrome.google.com/webstore/developer/edit/okddffdblfhhnmhodogpojmfkjmhinfp
Send an e-mail to the public chromium-hterm group announcing the new release. Here's an example posting:
https://groups.google.com/a/chromium.org/d/msg/chromium-hterm/_AcmwvdGFCc/Cne7Q8B3CQAJ
Then forward that to the internal chrome-hterm group.
After some time, life will be great and everyone loves the new version. That means it's time to promote the dev version to stable. The process basically takes the existing dev CRX, updating the manifest.json slightly, and then uploading it to the stable version.
If you still have the ZIP file that you uploaded previously, you can use that. Otherwise, it'll be easiest to just download the CRX directly from the CWS. You can use this extension:
https://chrome.google.com/webstore/detail/dijpllakibenlejkbajahncialkbdkjc
Then visit the dev page:
https://chrome.google.com/webstore/detail/okddffdblfhhnmhodogpojmfkjmhinfp
Then download the CRX using that extension.
You can run the promote.sh
script to do the channel promotion for you.
$ ./bin/promote.sh ./SecureShell-dev-0.8.36.2.zip -*- Name "Secure Shell (dev)" promoted to "Secure Shell" -*- Zip directory: dist/zip/tmp/SecureShell-0.8.36.2.zip.d -*- Unzipping from: SecureShell-dev-0.8.36.2.zip -*- Rewrite dist/zip/tmp/SecureShell-0.8.36.2.zip.d/manifest.json -*- New name: Secure Shell -*- New version: 0.8.36.2 -*- Creating: dist/zip/SecureShell-0.8.36.2.zip -*- Done: 161 files, 3.5M
Now the zip file under dist/zip/
is ready for release.
Visit the CWS dashboard to upload your new zip file:
https://chrome.google.com/webstore/developer/edit/pnhechapfaindjhompbnflcldabbghjo
This is the same as announcing the dev release.
Now that we've promoted a stable version, you should refresh the concat/release-highlights.txt file to drop older entries.
We don't currently have any. We strive to keep the master branch stable. You should too!
Once _locales/en/messages.json
has updates that need translating:
//depot/google3/googleclient/chrome/extensions/samples/tc/hterm/
.BUILD
is up to date.i18n_messages.js
for editing.../convert_json_messages.py < .../nassh/_locales/en/messages.json > i18n_messages.js
.//depot/google3/googledata/transconsole/xtb/ChromeExtensions/*.xtb
but you won't use them directly.hterm
dir mentioned above): blaze build messages_fileset
blaze-bin/googleclient/chrome/extensions/samples/tc/hterm/messages_fs/_locales/
..../nassh/bin/import-translations.sh .../google3/blaze-bin/googleclient/chrome/extensions/samples/tc/hterm/messages_fs/_locales/
See the TC page for more details.
We don't have one. Releases are made as changes roll in.