diff options
Diffstat (limited to 'docs/operations')
-rw-r--r-- | docs/operations/deployments.md | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/operations/deployments.md b/docs/operations/deployments.md new file mode 100644 index 00000000..45c8bd49 --- /dev/null +++ b/docs/operations/deployments.md @@ -0,0 +1,25 @@ +# Deployments + +We deploy yomitan to the Firefox and Chrome webstore via two channels -- the dev build and the stable build. We do this via a series of Github Actions. + +Only collaborators with deployment permissions are allowed to deploy. + +## Deploying a dev build + +1. Tag the commit with a version number. Like: `git tag 24.4.28.0 HEAD` (do this after pulling in the latest changes in master) or `git tag 24.4.28.0 abc123` + +> [!WARNING] +> You can not use leading zeroes in the version tags (e.g. `24.04.28.0`). Firefox store does not allow them and the deploy will fail. + +2. Push the tag to origin. `git push origin 24.4.28.0` +3. The [`Create prerelease on tag`](https://github.com/themoeway/yomitan/actions/workflows/create-prerelease-on-tag.yml) GH workflow will run and will publish a new release in [Releases](https://github.com/themoeway/yomitan/releases) as well as kick off a workflow each for publishing to Firefox and Chrome. +4. Find the corresponding `publish-chrome-development` GH action run and unblock the deployment. +5. Find the corresponding `publish-firefox-development` GH action run and unblock the deployment. +6. Wait anywhere between 5mins to a few hours for the build to show up on the [Chrome extension page](https://chromewebstore.google.com/detail/yomitan-development-build/glnaenfapkkecknnmginabpmgkenenml). Firefox does not have a yomitan dev listing and users would have to down the extension locally from "Assets" section of each release. + +## Deploying a stable build + +1. Go to ["Releases"](https://github.com/themoeway/yomitan/releases) and pick a version you want to promote to stable. +2. On the top right corner click on "Edit" and on the bottom there are two options `Set as a pre-release` and `Set as the latest release`. Uncheck `Set as a pre-release` and check `Set as the latest release`. +3. This will trigger the [`release`](https://github.com/themoeway/yomitan/actions/workflows/release.yml) workflow which will in turn trigger the `publish-chrome` and `publish-firefox` GH workflows. +4. Unblock `publish-chrome` and `publish-firefox` respectively and wait 5 mins to a few hours for the extensions to reflect on [Chrome](https://chromewebstore.google.com/detail/yomitan/likgccmbimhjbgkjambclfkhldnlhbnn) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/yomitan/) |