merge QMK 0.25.9 into develop_fingerpunch #309
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
name: Build QMK firmware | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
- master | |
- 'develop**' | |
- github-actions-build | |
workflow_dispatch: | |
jobs: | |
gather-keyboards: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: ${{ github.repository}} | |
ref: ${{ github.ref }} | |
- id: set-matrix | |
run: | | |
content=$(bash bin/fp_build.sh -l | sed s~keyboards/fingerpunch/~~| jq -Rsc '. / "\n" - [""]') | |
content="{\"keyboard\":$content}" | |
echo "matrix=$content" >> $GITHUB_OUTPUT | |
Build: | |
needs: gather-keyboards | |
runs-on: ubuntu-latest | |
container: qmkfm/qmk_cli | |
strategy: | |
fail-fast: false | |
matrix: ${{fromJson(needs.gather-keyboards.outputs.matrix)}} | |
steps: | |
- name: Checkout QMK | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ github.repository}} | |
ref: ${{ github.ref }} | |
submodules: recursive | |
- name: Build firmware | |
shell: bash | |
run: | | |
wget -q https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 -O jq | |
chmod +x jq | |
mv jq /usr/local/sbin/ | |
keyboards=$(bash bin/fp_build.sh -l| sed s~keyboards/fingerpunch/~~) | |
echo "${keyboards}" | while IFS= read -r line ; do | |
case "$line" in | |
*${{ matrix.keyboard }}*) | |
echo "Building for ${line}" | |
make_command="bin/fp_build.sh -k ${line} -r" | |
echo "${make_command}" | |
$make_command | |
;; | |
esac | |
done | |
- name: Prepare keyboard name for Artifacts | |
id: prep_artifact_name | |
run: | | |
# Calculate a unique string which applies to the matrix entry | |
# that we can use to construct unique and valid artifact names. | |
# We achieve that by squashing runs of characters are invalid | |
# in artifact names, and also whitespace and dashes, into a | |
# single dash character. The unique string will appear as | |
# the environment variable ARTIFACT_NAME in subsequent actions. | |
name="${{ matrix.keyboard }}" | |
# The option to enable + in sed regexps differs by OS so we avoid it | |
name=$(echo -n "$name" | sed -e 's/[ \t:\/\\"<>|*?]/_/g' -e 's/__*/_/g') | |
echo "KB_CLEAN_ARTIFACT_NAME=$name" >> $GITHUB_ENV | |
- name: Archive firmware | |
uses: actions/upload-artifact@v4 | |
continue-on-error: true | |
with: | |
name: qmk_fingerpunch_${{ env.KB_CLEAN_ARTIFACT_NAME }} | |
path: | | |
*.hex | |
*.bin | |
*.uf2 |