Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Sync with upstream Adv360-Pro-ZMK V3.0 #1

Open
wants to merge 8 commits into
base: V3.0
Choose a base branch
from

Conversation

darpham
Copy link
Owner

@darpham darpham commented Jan 9, 2025

Sync with Upstream V3.0 Changes

Summary

This PR syncs our fork with upstream changes from KinesisCorporation/Adv360-Pro-ZMK, incorporating several important fixes and improvements.

Key Changes

  • 🔄 Updated build workflows for improved reliability
  • 🐛 Fixed version.dtsi handling in local firmware builds
  • 🍎 Resolved Makefile errors preventing builds on macOS
  • ⬆️ Updated to Zephyr 3.5
  • 🎨 Added documentation for layer colors and modifier color configuration
  • 📝 Various documentation and changelog improvements

Technical Details

  • Fixed timing issues with version.dtsi reset during local builds
  • Improved build system compatibility across platforms
  • Implemented Zephyr 3.5 framework updates
  • Enhanced documentation for color configuration options

Testing Notes

Please verify:

  • Local builds work correctly on both macOS and other platforms
  • Version numbers are correctly reflected in local builds
  • Layer color configurations work as documented

Related Issues/PRs

ReFil and others added 8 commits February 15, 2024 12:53
In #376 a new step was introduced for local builds to undo changes
to the version.dtsi file after a build in order to reduce noise to the repo.

Unfortunately the way used to execute the step causes the version.dtsi
file to be reset too early and therefore causes an incorrect version
number to be used for the version macro when run locally. This went
unfortunately undiscovered as the checked in version.dtsi was the same
on the day the change in #376 was tested and was not noticed until
I build a new change to my keymap locally a few days ago.

The git command introduced in #376 is wrapped into a shell function.

However what was missed is that commands run by the shell function are run when
the function calls are expanded by make. This causes the version.dtsi file to be reset
before the firmware build process is even started which resultes in the version.dtsi
currently checked in to the repo to be used for local builds instead of the
newly generated file when make starts.

This change updates how the git command to reset the version.dtsi
is being called. It is no longer called within a shell function to ensure it
does run in the order it is defined after the firmware build is complete.

Builds run through GitHub actions are not impacted and always used the correct version.dtsi

For more information and context see:
  - https://www.gnu.org/software/make/manual/html_node/Shell-Function.html
  - https://www.gnu.org/software/make/manual/html_node/Reading-Makefiles.html
* Zephyr 3.5 update

* Changelog
Co-authored-by: ReFil <31960031+ReFil@users.noreply.github.com>
* point CHANGELOG entry for #426 at correct PR

* Update changelog for changelog change
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants