[PR #372] [MERGED] feat: workflow and build updates #391

Closed
opened 2026-05-05 22:18:08 -06:00 by gitea-mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/feschber/lan-mouse/pull/372
Author: @jonstelly
Created: 2/4/2026
Status: Merged
Merged: 3/25/2026
Merged by: @feschber

Base: mainHead: pr/gh-workflows-up


📝 Commits (7)

  • 3eefeb1 feat: workflow and build updates
  • 63e784e Merge branch 'main' into pr/gh-workflows-up
  • 77b32c3 Merge branch 'main' into pr/gh-workflows-up
  • bb74f37 remove old release job
  • 0b92a90 rename x86-64 -> x86_64
  • 26d31a5 rename arm -> arm64
  • bcbdc74 downgrade arm runner to ubuntu-22.04

📊 Changes

3 files changed (+75 additions, -180 deletions)

View changed files

📝 .github/workflows/release.yml (+70 -26)
.github/workflows/tagged-release.yml (+0 -154)
📝 README.md (+5 -0)

📄 Description

Changes

  • combine pre-release and tagged-release workflows - just looking to simplify/combine the tagged and pre-release build workflows, there's a bit of conditional logic in just a few places in the release workflow, mainly around the release creation
  • macos 15 runners - macos 13 runners were deprecated/removed and I don't think github has a macos 14 intel runner so I moved everything macos to macos 15
  • add linux arm build - copied linux x86-64 job to create a linux arm build
  • updated release action - the previous release action has archived their repository so assuming it's no longer maintained, just switched to a different popular release action, seems to have roughly same features

Open questions / notes

  • I'm not familiar with nix cachix stuff, but I think I also need to add a nix build for linux-arm in the cachix.yml
  • In the combined release flow, I added:
    • ability to manually trigger a release from a branch (trigger a release from any branch via github ui)
    • in manually triggered releases, ability to specify a name for the build
    • pre-release release tag (not git tag) that's either the manually-specified name, or the branch name. I believe this would allow having 1 pre-release per branch (or manual name)... it keeps most of the benefit of pre-release 'latest' tag to keep release storage needs low (new releases overwrite old with same release tag), but support builds from multiple branches. I'm still testing this
  • I added architecture tags to the binary/release-artifact names, all binaries in release are lan-mouse-<OS>-<ARCH>... There are so many different standards for architecture tags, I don't have any strong feelings so happy to use the same tags everywhere or whatever you'd like. I generally think amd64 and arm64 are too similar which is why I went with x86-64 for linux and windows and intel for macos (feels more common for macos things).
  • I tried to add a windows arm build/release as well, but it was having issues with gtk4, and I've heard that windows intel emulation on arm windows is alright, so there's probably not a ton of value to having a separate windows arm build IMO

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/feschber/lan-mouse/pull/372 **Author:** [@jonstelly](https://github.com/jonstelly) **Created:** 2/4/2026 **Status:** ✅ Merged **Merged:** 3/25/2026 **Merged by:** [@feschber](https://github.com/feschber) **Base:** `main` ← **Head:** `pr/gh-workflows-up` --- ### 📝 Commits (7) - [`3eefeb1`](https://github.com/feschber/lan-mouse/commit/3eefeb104b82e375a41c0fdfd41d96939e2e6e46) feat: workflow and build updates - [`63e784e`](https://github.com/feschber/lan-mouse/commit/63e784e774f0097b64f0767c86dacb3a88106359) Merge branch 'main' into pr/gh-workflows-up - [`77b32c3`](https://github.com/feschber/lan-mouse/commit/77b32c3e0a1234307f46526d70612244bf2a0fc1) Merge branch 'main' into pr/gh-workflows-up - [`bb74f37`](https://github.com/feschber/lan-mouse/commit/bb74f371af53cafd9a9db7b0b945a77fc479dc19) remove old release job - [`0b92a90`](https://github.com/feschber/lan-mouse/commit/0b92a909cc44e14f0ce4120bb60d0e11f21d5e6b) rename x86-64 -> x86_64 - [`26d31a5`](https://github.com/feschber/lan-mouse/commit/26d31a5ea8043ad1aec5963b2345b92f76e98228) rename arm -> arm64 - [`bcbdc74`](https://github.com/feschber/lan-mouse/commit/bcbdc74fdacf5815bfede677c47a9934897c0af6) downgrade arm runner to ubuntu-22.04 ### 📊 Changes **3 files changed** (+75 additions, -180 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/release.yml` (+70 -26) ➖ `.github/workflows/tagged-release.yml` (+0 -154) 📝 `README.md` (+5 -0) </details> ### 📄 Description ## Changes - combine pre-release and tagged-release workflows - just looking to simplify/combine the tagged and pre-release build workflows, there's a bit of conditional logic in just a few places in the release workflow, mainly around the release creation - macos 15 runners - macos 13 runners were deprecated/removed and I don't think github has a macos 14 intel runner so I moved everything macos to macos 15 - add linux arm build - copied linux x86-64 job to create a linux arm build - updated release action - the previous release action has archived their repository so assuming it's no longer maintained, just switched to a different popular release action, seems to have roughly same features ## Open questions / notes - I'm not familiar with nix cachix stuff, but I think I also need to add a nix build for linux-arm in the cachix.yml - In the combined release flow, I added: - ability to manually trigger a release from a branch (trigger a release from any branch via github ui) - in manually triggered releases, ability to specify a name for the build - pre-release release tag (not git tag) that's either the manually-specified name, or the branch name. I believe this would allow having 1 pre-release per branch (or manual name)... it keeps most of the benefit of pre-release 'latest' tag to keep release storage needs low (new releases overwrite old with same release tag), but support builds from multiple branches. I'm still testing this - I added architecture tags to the binary/release-artifact names, all binaries in release are `lan-mouse-<OS>-<ARCH>`... There are so many different standards for architecture tags, I don't have any strong feelings so happy to use the same tags everywhere or whatever you'd like. I generally think `amd64` and `arm64` are too similar which is why I went with x86-64 for linux and windows and intel for macos (feels more common for macos things). - I tried to add a windows arm build/release as well, but it was having issues with gtk4, and I've heard that windows intel emulation on arm windows is alright, so there's probably not a ton of value to having a separate windows arm build IMO --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
gitea-mirror 2026-05-05 22:18:08 -06:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/lan-mouse#391
No description provided.