By using a single folder (ipmi-server), you manage the "Environment" (Edge vs. Stable) purely through GitHub Releases and the version field in config.yaml.
- Config: Set
version: "dev"inipmi-server/config.yaml. - Action: Push code changes to the
mainbranch. - Result: GitHub Actions builds images tagged as
:dev. - User Impact: Only users who have manually installed the "dev" version see these updates. No notifications are sent to stable users.
When the code is ready for all users:
- Open
ipmi-server/config.yaml. - Change
version: "dev"to a specific version number (e.g.,version: "2.1.0"). - Commit and Push this change to your
mainbranch.
- Go to your repository on GitHub and click Releases > Draft a new release.
- Tag: Enter
v2.1.0(must match the version in your config). - Title:
Version 2.1.0. - Pre-release Checkbox:
- Leave UNCHECKED for a Stable release (notifies everyone).
- Check it for a Beta release (notifies only Advanced Mode users).
- Click Publish release.
The Deploy workflow triggers automatically. It builds the images and tags them as :2.1.0 and :latest.
To continue development without affecting your new release:
- Open
ipmi-server/config.yaml. - Change the version back to
version: "dev". - Commit and Push to
main.
| Version in Config | GitHub Release Type | User Experience |
|---|---|---|
| "dev" | Push to main |
Edge/Dev users only. No notifications. |
| "2.1.0b1" | Pre-release | Notifies users with Advanced Mode enabled. |
| "2.1.0" | Latest Release | Notifies all users that an update is available. |