diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/pull_request_template.md | 17 | ||||
-rw-r--r-- | .github/workflows/release-please.yml | 38 |
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 }} |