2.2 KiB
Releasing Firmware
GitHub Actions is set up to automatically build and draft firmware releases.
Required GitHub Variable
Set the repository Actions variable OFFICIAL_MESHCORE_VERSION to the current upstream MeshCore release version.
Example:
OFFICIAL_MESHCORE_VERSION=v1.2.3
This value becomes the base FIRMWARE_VERSION used by the release workflows.
EastMesh Release Tags
Push one or more of the following tag formats to trigger the matching firmware release workflow:
companion-eastmesh-v1.0.1repeater-eastmesh-v1.0.1room-server-eastmesh-v1.0.1
Replace v1.0.1 with the EastMesh release version you want to publish.
Each tag triggers a separate workflow:
companion-eastmesh-*builds companion firmwarerepeater-eastmesh-*builds repeater firmwareroom-server-eastmesh-*builds room server firmware
You can push one, or more tags on the same commit, and they will all build separately.
Resulting Firmware Version
During the GitHub Actions build:
FIRMWARE_VERSIONcomes fromOFFICIAL_MESHCORE_VERSIONEASTMESH_VERSIONcomes from the tag
The final firmware/artifact version string becomes:
v1.2.3-eastmesh-v1.0.1-<commit>
Example:
- tag:
room-server-eastmesh-v1.0.1 - repo variable:
OFFICIAL_MESHCORE_VERSION=v1.2.3 - resulting build version:
v1.2.3-eastmesh-v1.0.1-abcdef
Typical Release Flow
- Update the
OFFICIAL_MESHCORE_VERSIONGitHub Actions variable if upstream has changed. - Create the release tags you want on the target commit.
- Push the tags.
- Wait for the workflows to finish building.
- Review the draft GitHub Releases.
- Update the release notes and publish them.
Example:
git tag companion-eastmesh-v1.0.1
git tag repeater-eastmesh-v1.0.1
git tag room-server-eastmesh-v1.0.1
git push origin companion-eastmesh-v1.0.1 repeater-eastmesh-v1.0.1 room-server-eastmesh-v1.0.1
Legacy Tags
The workflows still accept older tag formats for compatibility:
companion-v1.2.3repeater-v1.2.3room-server-v1.2.3room-server-v1.2.3-eastmesh-v1.0.1
However, the recommended EastMesh release format is:
companion-eastmesh-v1.0.1repeater-eastmesh-v1.0.1room-server-eastmesh-v1.0.1