Closed mechmerlin closed 2 years ago
I think we have a better solution for this problem already started, with some polishing work still to do. The API is being continuously exercised now by a process that attempts to compile keymaps for every keyboard/layout. The beta page showing this is here:
https://yanfali.github.io/qmk_error_page/
Next step is to expose compiler output, which I've exposed on the API but that information hasn't been folded into the error page yet.
Is there a way so that when a developer is adding a new LAYOUT, they have a way to check that their new LAYOUT can be compiled without submitting a PR, merging, and then checking that site?
I'd also be interested in a testing scheme that doesn't require your layout to be merged.
@jbtompkins Actually, we already support that. Set up Travis CI on your fork, and push to your fork. The already included Travis scripts should run a number of tests.
I'm not sure if this link will work, but, for instance: https://travis-ci.org/drashna/qmk_firmware/branches
Also, many of the scripts may work on a local system, as well.
@mechmerlin Yes, set up Travis CI to work on your local fork. Maybe we need a page in the docs on how to set that up, and use it.
We have the qmk_web_stack now that may make these a bit easier - @mechmerlin do you think this addresses that sort of use case?
This issue has been automatically marked as stale because it has not had activity in the last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity occurs.
For maintainers: Please label with bug
, in progress
, on hold
, discussion
or to do
to prevent the issue from being re-flagged.
Closing due to inactivity.
Background
The advent of the QMK Configurator has made it more apparent that sensible LAYOUTs need to be made. There has been a push to make this happen and the QMK Configurator is a lot more user friendly because of it.
Problem
Unfortunately while these LAYOUTs are used often by QMK Configurator, it's not often used by keymaps in
keyboards/some_keeb/keymaps
. As a result, a majority of these LAYOUTs are untested until they get to the QMK Configurator stage. This is ONLY true if a user chooses that layout. This results in some LAYOUTs not compiling such as what occured with Pull Request #3542.Proposal
Create a test directory in keymaps such as
Create a
keymap.c
that utilizes all available LAYOUTs. Using the minivan as an example, we can do thisYou may have noticed that it is not complete, as not all the minivan's LAYOUTs are used by any of the code in tv44/keymaps.
While the resulting hex would not work very well on any keyboard, this will atleast allow us to
People adding new LAYOUTs will also have to be vigilant to also add on to this.
At over 155 boards in
qmk_firmware
and with each board supporting several LAYOUT macros. This may take awhile to implement.