aboutsummaryrefslogtreecommitdiff
path: root/docs/operations/deployments.md
blob: 45c8bd49a37a3c4be00fe78997fe2c6df9800a67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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/)