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

update with main #37

Merged
merged 202 commits into from
Feb 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
8a84b7d
fix(shields): Fix incorrect union access in nice view
joelspadin Oct 8, 2023
791711b
feat(docs): Note how to use GPIO outside interconnect definition
caksoylar Sep 2, 2023
6af2242
feat(shields): add right encoders support to waterfowl
DiogoDoreto Mar 21, 2023
4a33909
docs: Add highlighting for devicetree and kconfig
joelspadin Oct 7, 2023
65667b8
docs: Add syntax highlighting to more code blocks
joelspadin Oct 7, 2023
6c75d69
feat(docs): Document globe key specific quirks
ReFil Oct 9, 2023
0c06023
chore(deps): bump postcss from 8.4.18 to 8.4.31 in /docs
dependabot[bot] Oct 10, 2023
a9f6770
fix(blog): Correct incorrect info re: global-quick-tap
caksoylar Oct 11, 2023
3ab9228
feat(shields): Add ZMK Uno nice!view support.
petejohanson Oct 3, 2023
a9a53e6
feat(shields): Reviung34 shield definition
alexkang Oct 15, 2023
3b1d043
feat: Print Kconfig and DTS for failed builds
joelspadin Oct 13, 2023
7fe9ecd
feat(shields): Add Reviung53 shield.
kh411d Oct 17, 2023
82e8569
feat(docs): Document ZMK_BATTERY_REPORTING config (#1971)
ReFil Oct 19, 2023
9e8ee86
chore(docs): Fix links to relocated files (#1975)
nickcoutsos Oct 22, 2023
8d09809
fix(docs): Updated encoder config docs.
petejohanson Oct 18, 2023
34c8b3f
refactor: Update boards/shields for encoders.
petejohanson Oct 18, 2023
c2d220f
refactor(hid): Use proper defines for HID values.
petejohanson Nov 8, 2023
5b49bc1
feat(blog): Show all posts on sidebar
caksoylar Nov 4, 2023
b80c0be
feat(blog): Add keymap editor post for spotlight series
caksoylar Nov 4, 2023
91aa337
feat(usb): Add boot protocol support
chrisandreae Nov 13, 2023
c1bf35c
feat(build): Add support for artifact-name in build.yaml
caksoylar Nov 11, 2023
2554b5c
fix(docs): Update boards in build examples to common+uf2 ones
caksoylar Nov 11, 2023
a5c3edd
refactor(docs): Remove local build section in customization
caksoylar Nov 11, 2023
7b4b5d4
fix(docs): Fix debouncing driver support note
caksoylar Nov 11, 2023
964c541
fix(usb): Tweak how ZMK_USB gets enabled.
petejohanson Nov 13, 2023
afe65ea
Revert "feat(build): Add support for artifact-name in build.yaml"
petejohanson Nov 13, 2023
2a1904e
feat(boards): Add Glove80 to boards
chrisandreae Nov 14, 2023
f6716f8
fix(usb): Build with ZMK_USB_BOOT disabled.
petejohanson Nov 14, 2023
3027b2a
chore(usb): Don't enable ZMK_USB_ROOT by default.
petejohanson Nov 14, 2023
8776911
feat(ble): Allow disabling BLE BAS reporting
ReFil Nov 15, 2023
d7d9eed
feat(mouse): Initial mouse keys support.
krikun98 Apr 27, 2021
0a4b1a6
feat(ble): add behavior to disconnect from BLE profile
chrisandreae Nov 20, 2023
f77e38f
chore: Update devcontainer.json
idan Nov 24, 2023
a3f30ee
feat(build): Add support for artifact-name in build.yaml, correctly
caksoylar Nov 11, 2023
84b9335
feat(docs): Document adding USB logging to a standalone board (#2039)
ReFil Nov 27, 2023
6276e97
feat(ble): Only update BAS when active
ReFil Nov 15, 2023
4e55c5f
feat: handle LED indicators report
bortoz Sep 6, 2022
d9bb0d7
feat: LED indicators on peripheral side
bortoz Nov 27, 2022
817ce87
refactor: Move to `zmk_hid_indicators_t` type.
petejohanson Nov 27, 2023
69f7bfb
feat(boards): Kinesis Advantage 360 pro
ReFil Nov 28, 2023
744f70c
feat(bt): Add support for unauth overwrite
petejohanson Dec 1, 2023
329d647
feat(ble): Make it possible to use BT_GATT_AUTO_SEC_REQ
petejohanson Nov 30, 2023
3fad4db
fix(bt): Passkey entry pairing fixes.
petejohanson Dec 1, 2023
da15564
feat(bluetooth): Build on ARCH_POSIX.
petejohanson Jul 13, 2023
693530c
feat(bluetooth): Initial nRF52 BSIM based test support.
petejohanson Jun 20, 2023
c63d079
chore: Ensure BSIM env. variables set in devcontainer.
petejohanson Jul 14, 2023
55aed8e
feat(tests): Add ability to auto-accept test diff.
petejohanson Dec 2, 2023
ecefd6d
fix(docs): Update backlight docs (#1894)
ReFil Dec 4, 2023
042e520
fix(docs): Fix table for BT_DISC
caksoylar Dec 4, 2023
8ee3467
fix(docs): Update outdated information in the hardware page
caksoylar Dec 4, 2023
9bacaff
feat(hid): Add KConfig option for higher NKRO usages
ReFil Dec 4, 2023
dbe5dfb
feat(split): Add is_bonded function to peripherals
ReFil Dec 4, 2023
179bdbc
refactor(behaviors): Make label property optional
joelspadin Sep 5, 2023
05925c7
refactor(ext_power): Remove label property
joelspadin Sep 5, 2023
3ae9e74
refactor(drivers): Make label property optional
joelspadin Nov 18, 2023
ba5637f
refactor: Remove unimportant labels
joelspadin Oct 7, 2023
d4e8dee
refactor(keymaps): Rename layer label to "display-name"
joelspadin Oct 7, 2023
5ecd352
docs: Remove label property from documentation
joelspadin Oct 7, 2023
36eda57
refactor(behaviors): Create a list to lookup behaviors
joelspadin Nov 19, 2023
23ecf08
refactor(behaviors)!: Remove labels from behaviors
joelspadin Nov 18, 2023
0fd8e25
docs: Document behavior name length limit
joelspadin Nov 19, 2023
17a6f0b
refactor: Remove new uses of label property
joelspadin Dec 5, 2023
0ab6a0a
feat(bt): Add new experimental Kconfig setting.
petejohanson Dec 4, 2023
efd403a
refactor: Hook into CMake loading in a better spot.
petejohanson Nov 6, 2023
3656ec6
feat(build): Build unified config/mod repos.
petejohanson Nov 25, 2023
291bbc2
refactor(docs): New shield guide to suggest modules
petejohanson Nov 27, 2023
88338a9
feat(shields): Add ZMK Uno split setup
petejohanson Dec 6, 2023
f3ad08b
fix(docs): Add missing page pointers in behaviors config
caksoylar Dec 4, 2023
76a209c
fix(docs): Fix sticky key #binding-cells
caksoylar Dec 4, 2023
2bab81a
fix(docs): Note -var definition files for macros
caksoylar Dec 4, 2023
56d863c
feat(docs): Document sensor-rotate in behaviors config
caksoylar Dec 4, 2023
55bf7ca
feat(docs): Note how parameters are forwarded for behaviors
caksoylar Dec 4, 2023
09d47d8
refactor(docs): Convert breaks to unordered lists in tables
caksoylar Dec 5, 2023
384637a
fix(docs): Fix text blurb about split Kconfig.defconfig
caksoylar Dec 4, 2023
96f9031
fix(build): Only copy if zephyr module detected
petejohanson Dec 7, 2023
63c8c57
feat(bt): Add more experimental tweaks.
petejohanson Dec 6, 2023
b35a5e8
fix(shields): Don't enable passkey support on Uno.
petejohanson Dec 8, 2023
2c50cff
feat(kscan): Add charlieplex keyscan driver
HookyKB Dec 9, 2023
ff57ccc
feat(shields): Allow settings_reset to build with board-only keyboards
caksoylar Nov 11, 2023
52ed49b
fix(ci): Upgrade to github-script@v7
petejohanson Dec 13, 2023
9b3a986
refactor(bt): Split security and conn exp. Kconfig
petejohanson Dec 13, 2023
f4f402f
fix(ci): Use unique artifact for test logs
petejohanson Dec 15, 2023
1b8b6b4
refactor(core): Make low priority queue optional.
petejohanson Dec 16, 2023
78fa1e7
feat(blog): Add nodefree-config post for spotlight series
caksoylar Dec 2, 2023
12d73ba
fix(docs): Fix remark on &bt parameter #2
caksoylar Dec 17, 2023
a593c72
feat(bt): Add test for unauth overwrite.
petejohanson Dec 3, 2023
c965e35
chore: Ignore python virtualenv files
waffle87 Dec 27, 2023
7ef6ec7
refactor: remove unused Kconfig files
lesshonor Dec 30, 2023
d35311a
refactor: remove misleading build warning
lesshonor Dec 30, 2023
0e2f94b
feat(ble): Support perhipheral battery levels.
Katona Mar 29, 2022
b3146e6
feat(blog): Add post for joelspadin projects for spotlight series (#…
caksoylar Jan 5, 2024
6f8d080
fix: Use `zmk_battery_state_of_charge` in battery widgets
jridgewell Jan 5, 2024
5257cde
bt: add BT_CLR_ALL behaviour
moergo-sc Jun 11, 2022
7a5155f
lint: add (void) parameter to pass -Wstrict-prototypes
chrisandreae Dec 18, 2023
b8cb407
lint: use correct type signature for Zephyr callbacks
chrisandreae Dec 18, 2023
604c951
Remove error reporting from ble utility functions that never error
chrisandreae Dec 18, 2023
f4fe7fa
Extract common behaviour of clearing a bond
chrisandreae Dec 19, 2023
b813f34
fixup! bt: add BT_CLR_ALL behaviour
chrisandreae Dec 19, 2023
194a979
fixup! use wider type for loop iterator
chrisandreae Dec 22, 2023
7b9466c
fixup! add documentation for BT_CLR_ALL
chrisandreae Dec 22, 2023
7d1c1ae
fixup! docs
chrisandreae Dec 22, 2023
bc7b4b5
fix(ble): Disable Auto Sec Req again.
petejohanson Jan 4, 2024
69f962f
feat(ble): Add security related tests.
petejohanson Jan 4, 2024
7487531
feat(ble): Request encryption if notifying fails
petejohanson Jan 5, 2024
395ffaa
fix(ble): Properly send mouse HoG using worker.
petejohanson Jan 5, 2024
cebf651
fix(boards): include the right flash info in XIAO BLE overlay
ldab Jan 6, 2024
12bc8b0
fix: Fix function signatures for WPM.
petejohanson Jan 5, 2024
7652fbe
fix(split): Split peripherals should auto sec req still.
petejohanson Jan 6, 2024
6bf4870
fix(battery): prevent bus fault when battery does not exist
xudongzheng Jan 6, 2024
db9ab30
fix(boards): Fix up EXT_POWER naming for adv360pro;
petejohanson Jan 6, 2024
2829185
chore(deps): bump follow-redirects from 1.15.2 to 1.15.4 in /docs
dependabot[bot] Jan 10, 2024
466cf92
fix(docs): Document `CONFIG_ZMK_USB_BOOT`
typorian Jan 12, 2024
50e4732
chore(ci): Split build and upload into separate steps
petejohanson Jan 9, 2024
33209de
refactor(core): Move to stack allocated events.
petejohanson Mar 23, 2023
644feeb
fix(core): Address review comments from Joel.
petejohanson Jan 13, 2024
331915f
fix: Fix missed event manager usages from refactor.
petejohanson Jan 14, 2024
e89cffc
fix(events): Remove our usage of assert.
petejohanson Jan 14, 2024
e5050e4
feat(tests): Enable asserts for tests.
petejohanson Jan 14, 2024
0890aae
chore: Run tests if any includes change.
petejohanson Jan 15, 2024
8c14b15
docs: confirm some consumer codes on iOS
crides Jan 15, 2024
f71458a
fix(shields): Fix battery warnings for custom widgets.
petejohanson Jan 17, 2024
0827ff2
chore(docs): Update docusaurus to 3
caksoylar Jan 12, 2024
13c856d
fix(docs): Fix mdx 3 incompatibility
caksoylar Jan 12, 2024
a0a9524
fix(docs): Fix deprecated admonition types
caksoylar Jan 12, 2024
00962a7
refactor(docs): Remove no longer necessary React imports
caksoylar Jan 13, 2024
f014eb4
refactor(docs): Use .mdx for docs with mdx features
caksoylar Jan 13, 2024
ee855de
fix(docs): Fix incorrect admonition title
caksoylar Jan 13, 2024
dcfe07d
refactor(docs): Use new admonition title syntax and disable mdx v1 co…
caksoylar Jan 13, 2024
1b326ff
fix(docs): Fix relative links with trailing slashes
caksoylar Jan 13, 2024
5cbffd6
fix(docs): Work around docusaurus bug causing broken links
caksoylar Jan 13, 2024
57684f8
fix(docs): Fix broken anchors in docs (but not blog)
caksoylar Jan 13, 2024
e3f458e
ci(docs): Fix tsc config for docusaurus 3
caksoylar Jan 13, 2024
fa91648
ci(docs): Use eslint plugin for automatic JSX runtime
caksoylar Jan 13, 2024
7196f9f
ci(docs): Disable eslint rule for unescaped entities
caksoylar Jan 13, 2024
0dc04df
fix(docs): Fix eslint-plugin-react errors
caksoylar Jan 13, 2024
1961312
fix(docs): Fix extra line issue in hardware headers
caksoylar Jan 19, 2024
a3fbc2a
docs: suggest zmk,matrix-transform over zmk,matrix_transform
lesshonor Jan 8, 2024
6b54701
refactor: use zmk,matrix-transform instead of zmk,matrix_transform
lesshonor Jan 8, 2024
1a3529a
fix(ci): Use proper variable expression.
petejohanson Jan 25, 2024
a046539
refactor: Improve keymap upgrader
joelspadin Jan 21, 2024
84e0567
fix(docs): Fix links to keymap upgrader
joelspadin Jan 22, 2024
37fcf19
feat(keymap-upgrader): Highlight changes
joelspadin Jan 22, 2024
d4be705
fix(keymap-upgrader): Filter key codes to bindings
joelspadin Jan 22, 2024
bf5284b
fix(keymap-upgrader): Note that changed lines are highlighted
joelspadin Jan 22, 2024
08d9391
feat(keymap-upgrader): Upgrade renamed nodes
joelspadin Jan 22, 2024
1dbd691
chore(docs): Update tree-sitter-devicetree to 0.9.0
joelspadin Jan 23, 2024
1f8b45d
fix(ci): Updated actions to move away Node 16.
petejohanson Jan 26, 2024
72d5c01
fix(ci): Move to maintained get-changed files.
petejohanson Jan 26, 2024
789c116
fix(ci): Bump setup-python version.
petejohanson Jan 26, 2024
3c14c7c
fix(ci): Update one lingering upload-artifacts action.
petejohanson Jan 26, 2024
275c0ce
Revert "fix(ci): Update one lingering upload-artifacts action."
petejohanson Jan 26, 2024
b120daa
fix(boards): Assign preonic_rev3 chosen console
senseored Jan 27, 2024
5685074
docs: correcting file path in config.md
dhruvinsh Jan 26, 2024
0755b7a
fix(ci): Update upload-artifact with merge step
caksoylar Jan 27, 2024
4a5806a
feat(core): enable FPU if CPU has FPU
xudongzheng Nov 23, 2023
aab09d5
feat(docs): Document Karabiner interference with Mod-Morphs (#2146)
johanfriis Jan 30, 2024
f24a0bf
fix(shields): Add labels to all sensors nodes
joelspadin Jan 27, 2024
c2299e2
fix(shields): Fix deprecated encoder properties
joelspadin Jan 27, 2024
be75da0
fix(keymap-upgrader): Fix highlight on last line
joelspadin Jan 27, 2024
3a4cf18
feat(keymap-upgrader): Upgrade encoder resolution
joelspadin Jan 27, 2024
5826b80
chore: Fix formatting
joelspadin Feb 3, 2024
4b03fcb
fix(boards): Add missing battery header include
caksoylar Feb 4, 2024
efbcd3c
fix(boards): Disable ZMK_USB for peripherals
caksoylar Feb 4, 2024
b8846cf
refactor(display): Remove unused BAS includes
caksoylar Feb 6, 2024
f4fce9e
refactor(display): Move new LVGL DPI Kconfig setting.
petejohanson Jun 23, 2023
bf4008d
refactor: All SYS_INIT functions are void args.
petejohanson Jun 23, 2023
f7e7c9c
fix: Add missing include for k_work types.
petejohanson Jun 23, 2023
fb99496
chore: Switch to 3.5 Zephyr version.
petejohanson Jun 23, 2023
0b5afbf
refacter(bluetooth): Proper HCI header include.
petejohanson Jun 28, 2023
bd9c71a
fix(sensors): Avoid duplicate Kconfig/DTS name.
petejohanson Oct 16, 2023
d06e90e
fix: Fix syscalls generation setup.
petejohanson Nov 9, 2023
ba1a6c0
refactor: Return int from main function.
petejohanson Nov 9, 2023
d6de8a3
refactor: Move to POST_KERNEL phase for behavior inits.
petejohanson Nov 9, 2023
58413ca
refactor(kscan): Clean up warning about shadowed local.
petejohanson Nov 9, 2023
b6d9f3c
fix(ble): Ensure large enough string for setting name.
petejohanson Nov 9, 2023
98e3b8b
refactor: Move to new sys_poweroff API.
petejohanson Nov 9, 2023
a81a2d3
refactor: Remove explicit blocklist item.
petejohanson Nov 10, 2023
552347b
fix(kscan): Adjust composite kscan priority
petejohanson Nov 10, 2023
94aa7d8
chore(ci): Bump to 3.5 Docker images.
petejohanson Nov 14, 2023
f4e6d70
fix: Proper use of CONTAINER_OF with delayable work.
petejohanson Nov 15, 2023
802881b
fix(boards): Remove references to PINMUX Kconfig.
petejohanson Nov 15, 2023
413820f
fix(shields): LVGL fixes for nice!view screen
petejohanson Nov 16, 2023
4fcbe32
fix(bt): Updated snapshots for BLE tests.
petejohanson Dec 4, 2023
b3f1d76
fix(bt): Fixes for BLE test BSIM bits.
petejohanson Dec 4, 2023
3968d9f
feat(boards): Make `west flash` work with new UF2 runner.
petejohanson Dec 4, 2023
8e9b4fa
fix(boards): Make `&bootloader` work on nrf52 for now.
petejohanson Dec 4, 2023
324ada1
fix(boards): Remove unused pin settings.
petejohanson Dec 4, 2023
a6c0399
fix(bluetooth): Remove LLCP impl override.
petejohanson Dec 12, 2023
aeb5bed
fix(kscan): Adjust charlieplex init level/priority.
petejohanson Jan 14, 2024
d9c0ded
fix(shields): Fix use of deprecated Zephyr header.
petejohanson Jan 17, 2024
b2a0a35
fix(display): Set a default mem size for built-in
petejohanson Jan 17, 2024
cd6f8a6
fix(ble): Update security test for changes in 3.5.
petejohanson Jan 29, 2024
18e5a1a
feat: Add Zephyr 3.5 blog post.
petejohanson Jan 15, 2024
2d6c9f7
refactor(display): Move to proper SPI ready API.
petejohanson Feb 5, 2024
4bcecd9
fix(display): Tweaks to memory Kconfig settings.
petejohanson Feb 5, 2024
edc72c1
chore(docs): Update Zephyr links to 3.5.0 versions.
petejohanson Feb 7, 2024
1d83f27
fix(pm): Tweaks for deep sleep/PM.
petejohanson Feb 8, 2024
50a303b
fix(pm): Restore sleep suspension of devices.
petejohanson Feb 9, 2024
f72f415
fix(docs): More Zephyr docs link updates.
petejohanson Feb 9, 2024
cdcf4eb
feat(boards): allow use of blackpill_f401cc
lesshonor Feb 10, 2024
40adb38
refactor(boards): remove superfluous conf settings
lesshonor Feb 10, 2024
adfbd81
Merge branch '20240212/rafaelromao/main' into update_main_20240212
rafaelromao Feb 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .devcontainer/.bashrc
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,8 @@ fi
if [ -f "$WORKSPACE_DIR/zephyr/zephyr-env.sh" ]; then
source "$WORKSPACE_DIR/zephyr/zephyr-env.sh"
fi

if [ -d "$WORKSPACE_DIR/tools/bsim" ]; then
export BSIM_OUT_PATH="$WORKSPACE_DIR/tools/bsim/"
export BSIM_COMPONENTS_PATH="$WORKSPACE_DIR/tools/bsim/components/"
fi
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM docker.io/zmkfirmware/zmk-dev-arm:3.2
FROM docker.io/zmkfirmware/zmk-dev-arm:3.5

COPY .bashrc tmp
RUN mv /tmp/.bashrc ~/.bashrc
10 changes: 7 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,13 @@
"type=volume,source=zmk-zephyr-modules,target=${containerWorkspaceFolder}/modules",
"type=volume,source=zmk-zephyr-tools,target=${containerWorkspaceFolder}/tools"
],
"extensions": ["ms-vscode.cpptools"],
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
"customizations": {
"vscode": {
"extensions": ["ms-vscode.cpptools"],
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
}
}
},
"forwardPorts": [3000]
}
78 changes: 78 additions & 0 deletions .github/workflows/ble-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: BLE Tests

on:
push:
paths:
- ".github/workflows/ble-test.yml"
- "app/tests/ble/**"
- "app/src/**"
- "app/run-ble-test.sh"
pull_request:
paths:
- ".github/workflows/ble-test.yml"
- "app/tests/ble/**"
- "app/src/**"
- "app/run-ble-test.sh"

jobs:
collect-tests:
outputs:
test-dirs: ${{ steps.test-dirs.outputs.test-dirs }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Find test directories
id: test-dirs
run: |
cd app/tests/ble
export TESTS=$(ls -d * | grep -v central | jq -R -s -c 'split("\n")[:-1]')
echo "test-dirs=${TESTS}" > $GITHUB_OUTPUT
run-tests:
needs: collect-tests
strategy:
matrix:
test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }}
runs-on: ubuntu-latest
container:
image: docker.io/zmkfirmware/zmk-build-arm:3.5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache west modules
uses: actions/cache@v4
env:
cache-name: cache-zephyr-modules
with:
path: |
modules/
tools/
zephyr/
bootloader/
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('app/west.yml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
timeout-minutes: 2
continue-on-error: true
- name: Initialize workspace (west init)
run: west init -l app
- name: Enable babblesim group filter
run: west config manifest.group-filter -- +babblesim
- name: Update modules (west update)
run: west update
- name: Export Zephyr CMake package (west zephyr-export)
run: west zephyr-export
- name: Build BabbleSim components
working-directory: tools/bsim
run: make everything
- name: Test ${{ matrix.test }}
working-directory: app
run: BSIM_COMPONENTS_PATH="${GITHUB_WORKSPACE}/tools/bsim/components" BSIM_OUT_PATH="${GITHUB_WORKSPACE}/tools/bsim" ./run-ble-test.sh tests/ble/${{ matrix.test }}
- name: Archive artifacts
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: "${{ matrix.test }}-log-files"
path: app/build/**/*.log
101 changes: 79 additions & 22 deletions .github/workflows/build-user-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
build_matrix: ${{ env.build_matrix }}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install yaml2json
run: python3 -m pip install remarshal
Expand All @@ -52,67 +52,124 @@ jobs:
fail-fast: false
matrix: ${{ fromJson(needs.matrix.outputs.build_matrix) }}
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Create build directory
run: |
echo "build_dir=$(mktemp -d)" >> $GITHUB_ENV

- name: Prepare variables
shell: sh -x {0}
env:
board: ${{ matrix.board }}
shield: ${{ matrix.shield }}
artifact_name: ${{ matrix.artifact-name }}
run: |
if [ -e zephyr/module.yml ]; then
export zmk_load_arg=" -DZMK_EXTRA_MODULES='${GITHUB_WORKSPACE}'"
export new_tmp_dir=$(mktemp -d)
echo "base_dir=${new_tmp_dir}" >> $GITHUB_ENV
else
echo "base_dir=${GITHUB_WORKSPACE}" >> $GITHUB_ENV
fi

echo "zephyr_version=${ZEPHYR_VERSION}" >> $GITHUB_ENV
echo "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}" >> $GITHUB_ENV
echo "display_name=${shield:+$shield - }${{ matrix.board }}" >> $GITHUB_ENV
echo "artifact_name=${shield:+$shield-}${{ matrix.board }}-zmk" >> $GITHUB_ENV
echo "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}${zmk_load_arg}" >> $GITHUB_ENV
echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV
echo "artifact_name=${artifact_name:-${shield:+$shield-}${board}-zmk}" >> $GITHUB_ENV

- name: Checkout
uses: actions/checkout@v3
- name: Copy config files to isolated temporary directory
run: |
if [ "${{ env.base_dir }}" != "${GITHUB_WORKSPACE}" ]; then
mkdir "${{ env.base_dir }}/${{ inputs.config_path }}"
cp -R ${{ inputs.config_path }}/* "${{ env.base_dir }}/${{ inputs.config_path }}/"
fi

- name: Cache west modules
uses: actions/cache@v3.0.11
uses: actions/cache@v4
continue-on-error: true
env:
cache_name: cache-zephyr-${{ env.zephyr_version }}-modules
with:
path: |
modules/
tools/
zephyr/
bootloader/
zmk/
${{ env.base_dir }}/modules/
${{ env.base_dir }}/tools/
${{ env.base_dir }}/zephyr/
${{ env.base_dir }}/bootloader/
${{ env.base_dir }}/zmk/
key: ${{ runner.os }}-build-${{ env.cache_name }}-${{ hashFiles('**/west.yml', '**/build.yaml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache_name }}-
${{ runner.os }}-build-
${{ runner.os }}-

- name: West Init
run: west init -l "${{ inputs.config_path }}"
working-directory: ${{ env.base_dir }}
run: west init -l "${{ env.base_dir }}/${{ inputs.config_path }}"

- name: West Update
working-directory: ${{ env.base_dir }}
run: west update

- name: West Zephyr export
working-directory: ${{ env.base_dir }}
run: west zephyr-export

- name: West Build (${{ env.display_name }})
working-directory: ${{ env.base_dir }}
shell: sh -x {0}
run: west build -s zmk/app -b "${{ matrix.board }}" -- -DZMK_CONFIG="${GITHUB_WORKSPACE}/${{ inputs.config_path }}" ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }}
run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" -- -DZMK_CONFIG=${{ env.base_dir }}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }}

- name: ${{ env.display_name }} Kconfig file
run: grep -v -e "^#" -e "^$" build/zephyr/.config | sort
run: |
if [ -f "${{ env.build_dir }}/zephyr/.config" ]
then
grep -v -e "^#" -e "^$" "${{ env.build_dir }}/zephyr/.config" | sort
else
echo "No Kconfig output"
fi
if: ${{ !cancelled() }}

- name: ${{ env.display_name }} Devicetree file
run: |
if [ -f "${{ env.build_dir }}/zephyr/zephyr.dts" ]
then
cat "${{ env.build_dir }}/zephyr/zephyr.dts"
elif [ -f "${{ env.build_dir }}/zephyr/zephyr.dts.pre" ]
then
cat -s "${{ env.build_dir }}/zephyr/zephyr.dts.pre"
else
echo "No Devicetree output"
fi
if: ${{ !cancelled() }}

- name: Rename artifacts
shell: sh -x {0}
run: |
mkdir build/artifacts
if [ -f build/zephyr/zmk.uf2 ]
mkdir "${{ env.build_dir }}/artifacts"
if [ -f "${{ env.build_dir }}/zephyr/zmk.uf2" ]
then
cp build/zephyr/zmk.uf2 "build/artifacts/${{ env.artifact_name }}.uf2"
elif [ -f build/zephyr/zmk.${{ inputs.fallback_binary }} ]
cp "${{ env.build_dir }}/zephyr/zmk.uf2" "${{ env.build_dir }}/artifacts/${{ env.artifact_name }}.uf2"
elif [ -f "${{ env.build_dir }}/zephyr/zmk.${{ inputs.fallback_binary }}" ]
then
cp "build/zephyr/zmk.${{ inputs.fallback_binary }}" "build/artifacts/${{ env.artifact_name }}.${{ inputs.fallback_binary }}"
cp "${{ env.build_dir }}/zephyr/zmk.${{ inputs.fallback_binary }}" "${{ env.build_dir }}/artifacts/${{ env.artifact_name }}.${{ inputs.fallback_binary }}"
fi

- name: Archive (${{ env.display_name }})
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: artifact-${{ env.artifact_name }}
path: ${{ env.build_dir }}/artifacts

merge:
runs-on: ubuntu-latest
needs: build
name: Merge Output Artifacts
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
with:
name: ${{ inputs.archive_name }}
path: build/artifacts
pattern: artifact-*
delete-merged: true
Loading
Loading