qmk_userspace icon indicating copy to clipboard operation
qmk_userspace copied to clipboard

[Feature Request] Include information to recreate build in releases

Open kruton opened this issue 7 months ago • 3 comments

Description

In order to have repeatable builds, the git repository commits used to build the artifacts should be uploaded along with the release as well.

There are two cases:

  1. If a qmk_firmware submodule is used, this seems easy enough to do.
  2. If no submodule is used, there should be a way of determining the commit that it used to build (and a way to specify it with qmk compile, I suppose).

This could be extended into providing an SBOM for the release, but just the git commit is a good starting point.

kruton avatar Jun 28 '25 07:06 kruton

Yep, fair enough.

Quick and dirty mucking about generated something like this:

Path Repository Revision
. [email protected]:tzarc/qmk_userspace.git 7e7b454 Submodule updates.
./modules/drashna https://github.com/drashna/qmk_modules.git 86b5b8c [RTC] Add conversion function for __TIMESTAMP__ macro
./modules/getreuer https://github.com/getreuer/qmk-modules.git 9d10a0b Sentence Case: fix on/off/toggle keys.
./modules/tzarc [email protected]:tzarc/qmk_modules.git 757b28a Another buffer overflow fix.
./modules/tzarc/experimental/filesystem/littlefs https://github.com/littlefs-project/littlefs.git 8ed63b2 Merge pull request #1084 from elupus/fix/packing
./modules/tzarc/experimental/lua_keymap/lib/lua https://github.com/lua/lua.git 1ab3208a 'lua.h' back to redundancy in version definitions
./modules/tzarc/experimental/rv32_rgb_runner/lib/mini-rv32ima https://github.com/cnlohr/mini-rv32ima.git ac9dd82 Merge pull request #52 from daniilfigasystems/master
./qmk_firmware [email protected]:tzarc/qmk_firmware.git 90ed47945f Add udev rule installation support.
./qmk_firmware/lib/chibios https://github.com/qmk/ChibiOS 2365f84429 Fixed partial patch, removed an extra check.
./qmk_firmware/lib/chibios-contrib https://github.com/qmk/ChibiOS-Contrib 3ac181e4 Merge pull request #415 from KarlK90/fix/gd32vf103-port-status
./qmk_firmware/lib/chibios-contrib/ext/mcux-sdk https://github.com/NXPmicro/mcux-sdk 102c27d7c Propose for srtm freertos static api usage (#13)
./qmk_firmware/lib/googletest https://github.com/qmk/googletest e2239ee6 Googletest export
./qmk_firmware/lib/lufa https://github.com/qmk/lufa 549b97320 Use string literals for QMK bootloader manufacturer/product (#16)
./qmk_firmware/lib/lvgl https://github.com/qmk/lvgl.git e19410f8 fix(demo): added gaurd to prevent crash if default theme is not used (#3257)
./qmk_firmware/lib/pico-sdk https://github.com/qmk/pico-sdk.git a3398d8 Merge pull request #2 from KarlK90/feature/update-pico-sdk-to-1.5.0
./qmk_firmware/lib/printf https://github.com/qmk/printf c2e3b4e Fixes #137: Use strict C prototypes
./qmk_firmware/lib/vusb https://github.com/qmk/v-usb 819dbc1 Merge pull request #2 from obdev/master

I'll have a play and see if it can be standardised.

tzarc avatar Jun 28 '25 08:06 tzarc

LGTM. Having it in JSON might be better, but that's exactly then info I was thinking. 👍

kruton avatar Jun 28 '25 19:06 kruton

Oh I’ll likely make it generate a manifest file as json as well. Was just seeing if I could get it to spit something relevant out; can put it directly into the release notes in markdown.

tzarc avatar Jun 28 '25 21:06 tzarc