You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document outlines the steps involved in the release process for the OpenSCD project.
4
+
5
+
## Automated Release Workflow
6
+
7
+
The release process is automated using GitHub Actions and the `release-please` workflow. Below is an overview of the steps:
8
+
9
+
1.**Triggering the Workflow**:
10
+
- The workflow is triggered on a push to the `main` branch.
11
+
12
+
2.**Release Creation**:
13
+
- The `googleapis/release-please-action` is used to create a new release. It determines the version bump (major, minor, or patch) based on conventional commits.
14
+
15
+
3.**NPM Publication**:
16
+
- When a release is created, the `packages/core` package is published to the NPM registry.
17
+
18
+
4.**Build Assets**:
19
+
- The workflow creates zipped and tarred build assets from the `packages/distribution/build/`, that are attached to the GitHub release.
20
+
21
+
## Manual Steps - Verify the Release
22
+
- After the workflow completes, a pull request (PR) is automatically opened with the relevant changes.
23
+
- Review the PR to ensure the correct version and assets are included.
24
+
- Once verified, merge the PR to finalise the release.
25
+
26
+
## Notes
27
+
28
+
- The release process relies on conventional commits to determine versioning. Ensure commit messages follow the [Conventional Commits](https://www.conventionalcommits.org/) specification or read more [here](./commiting.md).
29
+
30
+
## Versioning Strategy
31
+
32
+
- The version in the root `package.json` represents the official release version of the distribution. This version is also reflected in `packages/distribution/manifest.json`.
33
+
- The version in `packages/core/package.json` is used to publish the `core` package to the NPM registry.
34
+
- The version in `packages/openscd/package.json` is used to manage the versioning of the `openscd` package.
35
+
- These versions are updated automatically by the `release-please` action during the release process. Version numbers are updated automatically based on conventional commits.
0 commit comments