Skip to content

Commit

Permalink
Merge pull request #2934 from reubenmiller/docs-internal-release-process
Browse files Browse the repository at this point in the history
docs: update internal release process
  • Loading branch information
reubenmiller authored Jun 11, 2024
2 parents 58c2812 + ef51e5c commit 69df312
Showing 1 changed file with 23 additions and 13 deletions.
36 changes: 23 additions & 13 deletions docs/internal/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,37 @@

The following steps describes the thin-edge.io release process:

1. Trigger Workflow in thin-edge.io repo
2. Review PR and approve
1. Trigger the [release workflow](https://github.com/thin-edge/thin-edge.io/actions/workflows/release.yml) in thin-edge.io repository. Select the appropriate version increment (e.g. **patch** for bug fix releases, or **minor** for non-breaking feature releases).

**Notes**

When this PR is merged, it the [autotag](.github/workflows/autotag.yml) workflow will detect the change in official version in the Cargo.toml, and then tag the commit with the new version number. This in turn triggers the [build-workflow](build-workflow) yet again to build the artifacts with the official version number.
* The workflow will create a new [PR](https://github.com/thin-edge/thin-edge.io/pulls) in the repository.

* A draft Release will be created
* Linux packages will be published to cloudsmith to the `tedge-main*` channel
* Linux packages will be promoted from `tedge-main*` to `tedge-release*`
* Container image will be built and published to `tedge-release`
* A new PR will be created in the [tedge-docs](https://github.com/thin-edge/tedge-docs/pulls) project to create a snapshot related to the new release
2. Review the [PR](https://github.com/thin-edge/thin-edge.io/pulls) (created in the previous step) and approve

3. Review the [tedge-docs snapshot PR](https://github.com/thin-edge/tedge-docs/pulls), and merge (this will trigger the docs to be updated)
**Notes**

You may need to edit the PR if necessary if you also want to remove an existing version in the same PR.
When this PR is merged, the [autotag](.github/workflows/autotag.yml) workflow will detect the change in official version in the Cargo.toml, and then tag the commit with the new version number. This in turn triggers the [build-workflow](https://github.com/thin-edge/thin-edge.io/actions/workflows/build-workflow.yml) yet again to build the artifacts with the official version number.

4. Review [Github draft release](https://github.com/thin-edge/thin-edge.io/releases) and update the changelog
5. Publish the [Github release](https://github.com/thin-edge/thin-edge.io/releases) from step 3.
6. Trigger the Algolia crawler to update the search index (once the new version of the website is published and available)
During a release, the [build-workflow](https://github.com/thin-edge/thin-edge.io/actions/workflows/build-workflow.yml) will do the following:

* Create a draft Release
* Publish the Linux packages to the `tedge-main*` channel in [Cloudsmith](https://cloudsmith.io/~thinedge/repos/)
* Promote the Linux packages from `tedge-main*` to `tedge-release*` in [Cloudsmith](https://cloudsmith.io/~thinedge/repos/)
* Build and publish container images to the [tedge](https://github.com/thin-edge/thin-edge.io/pkgs/container/tedge) package in the Github container registry
* Create a PR in the [tedge-docs](https://github.com/thin-edge/tedge-docs/pulls) repository which includes a new snapshot of the docs for the new official version

3. Review the [tedge-docs snapshot PR](https://github.com/thin-edge/tedge-docs/pulls), and approve/merge it

**Notes**

You may need to edit the PR before merging. For example, if you also want to remove an existing version in the same PR, then you will have to checkout the PR, make the edits, then push the changes.

When the PR is merged, it will trigger a new deployment of the [Github Pages](https://github.com/thin-edge/thin-edge.io/actions/workflows/gh-pages.yml) with the option enabled to update the Algolia search index (e.g. by triggering the Algolia crawler).

4. Review the [Github draft release](https://github.com/thin-edge/thin-edge.io/releases) and update the changelog accordingly

5. Publish the [Github release](https://github.com/thin-edge/thin-edge.io/releases) from the previous step.


The above process can be visualized by the following git process:
Expand Down

0 comments on commit 69df312

Please sign in to comment.