-
Notifications
You must be signed in to change notification settings - Fork 499
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
arrange workflows: build and release
- use QMK's docker image to setup build env - unified the naming convention of release tags - simpler build workflow - release firmwares in form of zip archive - include README in the archive
- Loading branch information
Showing
13 changed files
with
381 additions
and
317 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: 'Checkout QMK firmware' | ||
|
||
inputs: | ||
version: | ||
default: '0.22.3' | ||
type: string | ||
required: false | ||
path: | ||
default: '__qmk__' | ||
type: string | ||
required: false | ||
|
||
runs: | ||
using: 'composite' | ||
steps: | ||
|
||
- name: Checkout qmk_firmware | ||
uses: actions/checkout@v4 | ||
with: | ||
path: ${{ inputs.path }} | ||
repository: qmk/qmk_firmware | ||
submodules: recursive | ||
ref: ${{ inputs.version }} | ||
|
||
- name: Setup QMK | ||
shell: bash | ||
run: qmk setup --home ${{ inputs.path }} --yes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
name: Relase archive | ||
|
||
inputs: | ||
name: | ||
type: string | ||
required: true | ||
version: | ||
default: ${{ github.ref_name }} | ||
type: string | ||
required: false | ||
|
||
runs: | ||
using: 'composite' | ||
steps: | ||
|
||
- name: Download artifact | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: ${{ inputs.name }}-firmwares | ||
|
||
- name: Archive firmwares | ||
shell: bash | ||
run: | | ||
zip -9 ${{ inputs.name }}-${{ inputs.version }}.zip keyball_${{ inputs.name }}_*.hex README.md | ||
# Add README.md if available | ||
if [ -f ${{ inputs.name }}/doc/firmware_README.md ] ; then | ||
cp ${{ inputs.name }}/doc/firmware_README.md README.md | ||
zip -9 ${{ inputs.name }}-${{ inputs.version }}.zip README.md | ||
rm -f README.md | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
name: Build all firmwares | ||
|
||
on: | ||
push: | ||
paths: | ||
- 'qmk_firmware/keyboards/keyball/**.c' | ||
- 'qmk_firmware/keyboards/keyball/**.h' | ||
- 'qmk_firmware/keyboards/keyball/**.json' | ||
- '.github/actions/setup-qmk/**.yml' | ||
- '.github/workflows/build*.yml' | ||
tags-ignore: | ||
- '*' | ||
branches: | ||
- '*' | ||
workflow_call: {} | ||
|
||
jobs: | ||
|
||
build: | ||
|
||
strategy: | ||
matrix: | ||
keyboard: [ keyball39, keyball44, keyball61, keyball46, one47 ] | ||
keymap: [ test, default, via ] | ||
include: | ||
- keyboard: keyball46 | ||
keymap: test_Left | ||
- keyboard: keyball46 | ||
keymap: test_Both | ||
- keyboard: keyball46 | ||
keymap: via_Left | ||
- keyboard: keyball46 | ||
keymap: via_Both | ||
|
||
name: Build ${{ matrix.keyboard }} w/ ${{ matrix.keymap }} | ||
|
||
runs-on: ubuntu-latest | ||
container: | ||
image: ghcr.io/qmk/qmk_cli:latest | ||
|
||
steps: | ||
|
||
- name: Checkout source | ||
uses: actions/checkout@v4 | ||
|
||
- name: Checkout qmk_firmware | ||
uses: ./.github/actions/checkout-qmk_firmware | ||
|
||
- name: Install a link to own source | ||
run: ln -s $(pwd)/qmk_firmware/keyboards/keyball __qmk__/keyboards/keyball | ||
|
||
- run: qmk compile -j 4 -kb keyball/${{ matrix.keyboard }} -km ${{ matrix.keymap }} | ||
|
||
- name: Archive firmwares | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: ${{ matrix.keyboard }}-firmwares | ||
path: __qmk__/*.hex | ||
|
||
check-size: | ||
name: Check size | ||
runs-on: ubuntu-latest | ||
needs: | ||
- build | ||
|
||
steps: | ||
|
||
- uses: actions/download-artifact@v3 | ||
with: { name: keyball39-firmwares } | ||
|
||
- uses: actions/download-artifact@v3 | ||
with: { name: keyball44-firmwares } | ||
|
||
- uses: actions/download-artifact@v3 | ||
with: { name: keyball61-firmwares } | ||
|
||
- uses: actions/download-artifact@v3 | ||
with: { name: keyball46-firmwares } | ||
|
||
- uses: actions/download-artifact@v3 | ||
with: { name: one47-firmwares } | ||
|
||
- name: List size of firmwares | ||
run: | | ||
for f in *.hex ; do | ||
cut -c 2,3 $f | awk '{s+=strtonum("0x" $1)}END{printf "%5d/28672 (%2d%%, %5d bytes free) ",s,s*100/28672,28672-s}' | ||
echo $f | ||
done |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.