We need to do the firmware update step later, after we finalized the Chrysalis
versions, otherwise there will be a mismatch.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
Adjust the documentation and the firmware update & release scripts to how we're
doing firmware releases going forward.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
For this to work, we need to change our workflow a little: instead of a static
`snapshot` tag, we have to use a SemVer-compatible tag, such as
`0.10.3-snapshot` - effectively the same version that is in `package.json` (sans
the build number).
To make this automatic, there's a new tool, `tools/snapshot-tag`, which strips
the build number from the version in `package.json`, if there's any. We use this
tool to figure out which tag to re-release during the snapshot workflow.
We also have to update README.md to point to the appropriate snapshot, so the
`tools/release/create-snapshot.sh` tool has been updated to take care of that,
too.
With the workflow changes, we can adjust the autoUpdater configuration to allow
pre-releases, and use the "snapshot" channel. Because we only enable this when
running a snapshot release, auto-upgrade *to* a snapshot release will only work
from a snapshot release. Upgrading from an earlier snapshot to a release is not
done either, because we're tied to a given channel.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
The `usb` and `serialport` packages are finnicky, they break us easily. During
the release process, ask if the versions found are correct.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
We delegated the release creation to the github actions workflow, so all we need
to do now is tag a release and push it.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
Instead of relying on electron-builder to do the right thing, do the release
process ourselves, step by step.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
This is a major restructuring of our GitHub Actions workflows. First of all, we
now have separate workflows for release and snapshot builds, as having them
separate makes it easier to control which one runs when. It also allows us to
fine tune a lot of things for the snapshot workflow, which runs much more often.
Another change is that we're now using a static tag (`snapshot`) for development
builds, rather than a versioned tag, and this tag - and the pre-release on
GitHub - will get remade on every run, to keep it up to date.
We also have the build number back for our snapshot builds again, something we
lost with the transition away from Travis.
Documentation and scripts have been appropriately updated.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
We should not require a version to be specified on the commandline, we can just
cut the -snapshot part and run with it. We can then automatically update both
package.json and NEWS.md.
We should also ask if we need to update the shipped firmware.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>