GitHub Actions is set up to automatically build and draft firmware releases.
Set the repository Actions variable OFFICIAL_MESHCORE_VERSION to the current upstream MeshCore release version.
Example:
OFFICIAL_MESHCORE_VERSION=v1.2.3This value becomes the base FIRMWARE_VERSION used by the release workflows.
Push one or more of the following tag formats to trigger the matching firmware release workflow:
companion-wifi-v1.2.3repeater-mqtt-meshcoretel-v1.0.1Use the upstream MeshCore version in companion-wifi-v1.2.3.
Use the MeshCoreTel-firmware release version in repeater-mqtt-meshcoretel-v1.0.1.
Each tag triggers a separate workflow:
companion-wifi-v* builds companion WiFi firmwarerepeater-mqtt-meshcoretel-* builds repeater MQTT firmwareYou can push one, or more tags on the same commit, and they will all build separately.
During the GitHub Actions build:
companion-wifi uses the version in the tag as FIRMWARE_VERSIONrepeater-mqtt uses OFFICIAL_MESHCORE_VERSION as FIRMWARE_VERSIONrepeater-mqtt uses the MeshCoreTel-firmware version from the tag as MESHCORETEL_VERSIONThe resulting version string depends on the workflow:
companion-wifi: v1.2.3-<commit>repeater-mqtt: v1.2.3-vbart-meshcoretel-v1.0.1-<commit>Example:
repeater-mqtt-meshcoretel-v1.0.1OFFICIAL_MESHCORE_VERSION=v1.2.3v1.2.3-meshcoretel-v1.0.1-abcdefOFFICIAL_MESHCORE_VERSION GitHub Actions variable if upstream has changed.release-notes.yml on develop for any release entries you want included in the tagged commit.develop to main.main.If release-notes.yml should reflect the tagged firmware release in-repo, make that change before the PR to main so the tagged commit already contains the matching release notes.
Example:
git tag companion-wifi-v1.2.3
git tag repeater-mqtt-meshcoretel-v1.0.1
git push origin companion-wifi-v1.2.3 repeater-mqtt-meshcoretel-v1.0.1
companion-wifi-v1.2.3repeater-mqtt-meshcoretel-v1.0.1