Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
name: Build RMK firmware
on:
workflow_dispatch:
inputs:
rmk_version:
description: "RMK version to build against (default: main; or a version listed in rmk-template/version-mapping.json, e.g. 0.8)"
default: "main"
required: false
push:
# Rebuild only when the config that feeds the firmware changes — not on
# README edits, etc. Add paths here if you keep extra config files.
paths:
- "**"
- "keyboard.toml"
- "vial.json"

jobs:
build:
uses: haobogu/rmk/.github/workflows/user_build.yml@main
with:
keyboard_toml_path: "keyboard.toml"
vial_json_path: "vial.json"
# Manual runs use the dispatch input; pushes build against main.
rmk_version: ${{ github.event.inputs.rmk_version || 'main' }}
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# RMK firmware project template

Fork this repository to build [RMK](https://github.com/HaoboGu/rmk) keyboard firmware in the cloud — no local Rust toolchain required.

## Use it

1. Click **Use this template → Create a new repository**.
2. Edit `keyboard.toml` (your keyboard's layout, pins, and enabled features) and `vial.json` (the Vial matrix definition). See the [configuration guide](https://rmk.rs/docs/configuration.html).
3. Commit. GitHub Actions builds your firmware automatically.
4. Open the **Actions** tab and download the compiled firmware from the run's **Artifacts** (`.uf2`, `.hex`, or `.bin`).

A build runs on every push that changes `keyboard.toml` or `vial.json`.

## Choose the RMK version

By default the firmware builds against RMK's `main`. To pin a released version, run the workflow manually: **Actions → Build RMK firmware → Run workflow**, and set **rmk_version** to a version listed in [`version-mapping.json`](https://github.com/HaoboGu/rmk-template/blob/main/version-mapping.json) (e.g. `0.8`).

> The feature set is derived from `keyboard.toml`. Pinning an older `rmk_version` may not match the current config schema, so `main`/`latest` is the supported combination.