mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-17 13:12:08 +00:00
Use qmk/.github
for workflow definition.
This commit is contained in:
parent
3716172f20
commit
7521a1181b
116
.github/workflows/qmk_userspace_build.yml
vendored
116
.github/workflows/qmk_userspace_build.yml
vendored
@ -1,116 +0,0 @@
|
|||||||
name: Build Binaries
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
inputs:
|
|
||||||
qmk_repo:
|
|
||||||
description: 'qmk_firmware repo to build against'
|
|
||||||
default: 'qmk/qmk_firmware'
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
qmk_ref:
|
|
||||||
description: 'qmk_firmware branch to build against'
|
|
||||||
default: 'master'
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: qmkfm/base_container
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout Userspace
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Check qmk_firmware exists
|
|
||||||
id: check_files
|
|
||||||
uses: andstor/file-existence-action@v2
|
|
||||||
with:
|
|
||||||
files: qmk_firmware
|
|
||||||
|
|
||||||
- name: Checkout QMK Firmware
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
if: steps.check_files.outputs.files_exists == 'false'
|
|
||||||
with:
|
|
||||||
path: qmk_firmware
|
|
||||||
repository: ${{ inputs.qmk_repo || 'qmk/qmk_firmware' }}
|
|
||||||
ref: ${{ inputs.qmk_ref || 'master' }}
|
|
||||||
submodules: recursive
|
|
||||||
fetch-depth: 1000 # This line should be removed once userspace support exists in QMK Firmware
|
|
||||||
|
|
||||||
########################################################
|
|
||||||
## Delete this section once userspace exists upstream ##
|
|
||||||
########################################################
|
|
||||||
- name: Patch QMK Firmware with userspace support
|
|
||||||
run: |
|
|
||||||
cd qmk_firmware
|
|
||||||
git config --global user.email "nonexistent@email-address.invalid"
|
|
||||||
git config --global user.name "QMK GitHub Actions User"
|
|
||||||
git remote add qmk https://github.com/qmk/qmk_firmware.git
|
|
||||||
git fetch qmk qmk-userspace
|
|
||||||
git merge --no-commit --squash qmk/qmk-userspace
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Install QMK CLI
|
|
||||||
run: |
|
|
||||||
python3 -m pip install --upgrade qmk
|
|
||||||
python3 -m pip install -r qmk_firmware/requirements.txt
|
|
||||||
|
|
||||||
- name: Configure QMK CLI
|
|
||||||
run: |
|
|
||||||
qmk config mass_compile.parallel=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
|
|
||||||
qmk config user.qmk_home=$GITHUB_WORKSPACE/qmk_firmware
|
|
||||||
qmk config user.overlay_dir=$GITHUB_WORKSPACE
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: |
|
|
||||||
qmk mass-compile -e DUMP_CI_METADATA=yes -km ${{ github.repository_owner }} || touch .failed
|
|
||||||
# Generate the step summary markdown
|
|
||||||
./qmk_firmware/util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
|
|
||||||
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
|
|
||||||
truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
|
|
||||||
# Exit with failure if the compilation stage failed
|
|
||||||
[ ! -f .failed ] || exit 1
|
|
||||||
|
|
||||||
- name: Upload binaries
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: always() && !cancelled()
|
|
||||||
continue-on-error: true
|
|
||||||
with:
|
|
||||||
name: Firmware
|
|
||||||
path: |
|
|
||||||
*.bin
|
|
||||||
*.hex
|
|
||||||
*.uf2
|
|
||||||
|
|
||||||
publish:
|
|
||||||
name: Publish
|
|
||||||
needs: build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Download binaries
|
|
||||||
if: always() && !cancelled()
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
|
|
||||||
- name: Generate Release
|
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
if: always() && !cancelled()
|
|
||||||
with:
|
|
||||||
token: "${{ github.token }}"
|
|
||||||
name: Latest Firmware
|
|
||||||
tag_name: latest
|
|
||||||
fail_on_unmatched_files: false
|
|
||||||
draft: false
|
|
||||||
prerelease: false
|
|
||||||
files: |
|
|
||||||
**/*.hex
|
|
||||||
**/*.bin
|
|
||||||
**/*.uf2
|
|
Loading…
Reference in New Issue
Block a user