Skip to content

Commit 0e56f38

Browse files
committed
fix: run CI build job in Nix + add debug ci job
1 parent 57a9878 commit 0e56f38

File tree

1 file changed

+72
-27
lines changed

1 file changed

+72
-27
lines changed

.github/workflows/build_binaries.yaml

Lines changed: 72 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ jobs:
99
debug:
1010
name: 'QMK Userspace Build Debug'
1111
runs-on: ubuntu-latest
12+
if: github.event_name == 'workflow_dispatch'
1213
steps:
1314
- name: Checkout userspace
1415
uses: actions/checkout@v4
@@ -21,35 +22,47 @@ jobs:
2122
path: qmk_firmware
2223
submodules: recursive
2324

24-
- name: Install QMK dependencies
25-
run: |
26-
sudo apt-get update
27-
sudo apt-get install -y gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi git python3 python3-pip
28-
python3 -m pip install --upgrade pip
29-
python3 -m pip install qmk
25+
- name: Install Nix
26+
uses: cachix/install-nix-action@v27
27+
with:
28+
nix_path: nixpkgs=channel:nixos-unstable
3029

31-
- name: Setup QMK
30+
- name: Setup QMK and compile keyboards
3231
run: |
33-
qmk config user.qmk_home="$(pwd)/qmk_firmware"
34-
qmk config user.overlay_dir="$(pwd)"
35-
qmk doctor || true
32+
nix develop --command bash -c '
33+
# Setup QMK
34+
qmk config user.qmk_home="$(pwd)/qmk_firmware"
35+
qmk config user.overlay_dir="$(pwd)"
36+
qmk doctor || true
3637
37-
- name: Compile each keyboard with verbose output
38-
run: |
39-
echo "=== Building keyclicks/w_ergolite:jeffdess ===" | tee -a qmk-build.log
40-
qmk compile -kb keyclicks/w_ergolite -km jeffdess -v 2>&1 | tee -a qmk-build.log || echo "FAILED: w_ergolite" | tee -a qmk-build.log
38+
# Build each keyboard
39+
echo "=== Building Ergolite ===" | \
40+
tee -a qmk-build.log
41+
qmk -v compile -kb keyclicks/w_ergolite -km jeffdess 2>&1 | \
42+
tee -a qmk-build.log || \
43+
echo "FAILED: w_ergolite" | tee -a qmk-build.log
4144
42-
echo "" | tee -a qmk-build.log
43-
echo "=== Building fingerpunch/ximi/v2:jeffdess ===" | tee -a qmk-build.log
44-
qmk compile -kb fingerpunch/ximi/v2 -km jeffdess -v 2>&1 | tee -a qmk-build.log || echo "FAILED: ximi" | tee -a qmk-build.log
45+
echo "" | tee -a qmk-build.log
46+
echo "=== Building Ximi ===" | \
47+
tee -a qmk-build.log
48+
qmk -v compile -kb fingerpunch/ximi/v2 -km jeffdess 2>&1 | \
49+
tee -a qmk-build.log || \
50+
echo "FAILED: ximi" | tee -a qmk-build.log
4551
46-
echo "" | tee -a qmk-build.log
47-
echo "=== Building ploopyco/trackball_nano/rev1_001:jeffdess ===" | tee -a qmk-build.log
48-
qmk compile -kb ploopyco/trackball_nano/rev1_001 -km jeffdess -v 2>&1 | tee -a qmk-build.log || echo "FAILED: trackball" | tee -a qmk-build.log
52+
echo "" | tee -a qmk-build.log
53+
echo "=== Building Ploopy Nano ===" |\
54+
tee -a qmk-build.log
55+
qmk -v compile -kb ploopyco/trackball_nano/rev1_001 -km jeffdess 2>&1 \
56+
| tee -a qmk-build.log || \
57+
echo "FAILED: trackball" | tee -a qmk-build.log
4958
50-
echo "" | tee -a qmk-build.log
51-
echo "=== Building bastardkb/charybdis/3x5/v2/splinky_3:jeffdess ===" | tee -a qmk-build.log
52-
qmk compile -kb bastardkb/charybdis/3x5/v2/splinky_3 -km jeffdess -v 2>&1 | tee -a qmk-build.log || echo "FAILED: charybdis" | tee -a qmk-build.log
59+
echo "" | tee -a qmk-build.log
60+
echo "=== Building Charybdis Nano ===" | \
61+
tee -a qmk-build.log
62+
qmk -v compile -kb bastardkb/charybdis/3x5/v2/splinky_3 -km jeffdess 2>&1 \
63+
| tee -a qmk-build.log || \
64+
echo "FAILED: charybdis" | tee -a qmk-build.log
65+
'
5366
5467
- name: Upload build log
5568
if: always()
@@ -60,10 +73,42 @@ jobs:
6073

6174
build:
6275
name: 'QMK Userspace Build'
63-
uses: qmk/.github/.github/workflows/qmk_userspace_build.yml@main
64-
with:
65-
qmk_repo: JeffDess/qmk_firmware
66-
qmk_ref: master
76+
runs-on: ubuntu-latest
77+
steps:
78+
- name: Checkout userspace
79+
uses: actions/checkout@v4
80+
81+
- name: Checkout QMK firmware
82+
uses: actions/checkout@v4
83+
with:
84+
repository: JeffDess/qmk_firmware
85+
ref: master
86+
path: qmk_firmware
87+
submodules: recursive
88+
89+
- name: Install Nix
90+
uses: cachix/install-nix-action@v27
91+
with:
92+
nix_path: nixpkgs=channel:nixos-unstable
93+
94+
- name: Build all keyboards
95+
run: |
96+
nix develop --command bash -c '
97+
qmk config user.qmk_home="$(pwd)/qmk_firmware"
98+
qmk config user.overlay_dir="$(pwd)"
99+
100+
qmk userspace-compile
101+
'
102+
103+
- name: Upload firmware artifacts
104+
uses: actions/upload-artifact@v4
105+
with:
106+
name: Firmware
107+
path: |
108+
*.bin
109+
*.hex
110+
*.uf2
111+
if-no-files-found: warn
67112

68113
publish:
69114
name: 'QMK Userspace Publish'

0 commit comments

Comments
 (0)