aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/pull_request_template.md17
-rw-r--r--.github/workflows/release-please.yml38
2 files changed, 43 insertions, 12 deletions
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 9e523a36c5..e37a95867d 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,15 +1,8 @@
-<!-- If you're adding a board/shield please fill out this check-list, otherwise you can delete it -->
+<!-- Note: ZMK is generally not accepting PRs for new keyboards. New generic controller PRs *may* still be accepted, please discuss on the Discord server first. -->
-## Board/Shield Check-list
+## PR check-list
-- [ ] This board/shield is tested working on real hardware
-- [ ] Definitions follow the general style of other shields/boards upstream ([Reference](https://zmk.dev/docs/development/new-shield))
-- [ ] `.zmk.yml` metadata file added
+- [ ] Branch has a [clean commit history](https://zmk.dev/docs/development/contributing/pull-requests#clean-commit-history)
+- [ ] Additional tests are included, if changing behaviors/core code that is testable.
- [ ] Proper Copyright + License headers added to applicable files (Generally, we stick to "The ZMK Contributors" for copyrights to help avoid churn when files get edited)
-- [ ] General consistent formatting of DeviceTree files
-- [ ] Keymaps do not use deprecated key defines (Check using the [upgrader tool](https://zmk.dev/docs/codes/keymap-upgrader))
-- [ ] `&pro_micro` used in favor of `&pro_micro_d/a` if applicable
-- [ ] If split, no name added for the right/peripheral half
-- [ ] Kconfig.defconfig file correctly wraps _all_ configuration in conditional on the shield symbol
-- [ ] `.conf` file has optional extra features commented out
-- [ ] Keyboard/PCB is part of a shipped group buy or is generally available in stock to purchase (OSH/personal projects without general availability should create a zmk-config repo instead)
+- [ ] [Pre-commit](https://zmk.dev/docs/development/local-toolchain/pre-commit) used to check formatting of files, commit messages, etc.
diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml
new file mode 100644
index 0000000000..49fba29374
--- /dev/null
+++ b/.github/workflows/release-please.yml
@@ -0,0 +1,38 @@
+on:
+ push:
+ branches:
+ - main
+ - "v*.*-branch"
+
+permissions:
+ contents: write
+ pull-requests: write
+
+name: release-please
+
+jobs:
+ release-please:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: googleapis/release-please-action@v4
+ id: release
+ with:
+ token: ${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}
+ target-branch: ${{ github.ref_name }}
+ - uses: actions/checkout@v4
+ if: ${{ steps.release.outputs.release_created }}
+ - name: create major, minor branch
+ if: ${{ steps.release.outputs.release_created && steps.release.outputs.patch == '0' }}
+ run: |
+ git remote add gh-token-branch "https://x-access-token:${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}@github.com/${{ github.repository }}.git"
+ git checkout -b v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}-branch
+ git push gh-token-branch v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}-branch
+ - name: tag major and minor versions
+ if: ${{ steps.release.outputs.release_created }}
+ run: |
+ git config user.name github-actions[bot]
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
+ git remote add gh-token "https://x-access-token:${{ secrets.ZMK_RELEASE_PLEASE_TOKEN }}@github.com/${{ github.repository }}.git"
+ git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true
+ git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}"
+ git push --force gh-token v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}