Let's use workflows to parallelise the builds. (#20120)

* Let's use workflows to parallelise the builds.

* Nofail if files aren't present.

* Formatting.
This commit is contained in:
Nick Brassel 2023-03-15 08:31:10 +11:00 committed by GitHub
parent c91296f001
commit e62fc866db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 6 deletions

View file

@ -19,9 +19,8 @@ jobs:
strategy:
matrix:
keymap:
- default
- via
keymap: [default, via]
keyboard_folder: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]
container: qmkfm/qmk_cli
@ -36,5 +35,15 @@ jobs:
- name: Install dependencies
run: pip3 install -r requirements.txt
- name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }})
run: qmk mass-compile -j $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -km ${{ matrix.keymap }}
- name: Run `qmk mass-compile` (keyboards ${{ matrix.keyboard_folder }}*, keymap ${{ matrix.keymap }})
run: qmk mass-compile -j $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -km ${{ matrix.keymap }} -f 'keyboard_folder=${{ matrix.keyboard_folder }}*'
- name: 'Upload binaries'
uses: actions/upload-artifact@v3
with:
name: binaries-${{ matrix.keyboard_folder }}-${{ matrix.keymap }}
if-no-files-found: ignore
path: |
*.bin
*.hex
*.uf2

View file

@ -106,7 +106,7 @@ def mass_compile(cli):
def _make_filter(k, v):
expr = fnmatch.translate(v)
rule = re.compile(expr, re.IGNORECASE)
rule = re.compile(f'^{expr}$', re.IGNORECASE)
def f(e):
lhs = e[2].get(k)