summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/operations/deployments.md25
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/)