forked from kofal.net/zmk
feat(ci): Add release-please automation with VERSION (#2622)
* Add VERSION file that Zephyr will pick up * Add release-please automation * Updated docs on commits messages, and PR process * Updated PR template to match. --- Release-As: 0.1.0 Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
This commit is contained in:
17
.github/pull_request_template.md
vendored
17
.github/pull_request_template.md
vendored
@@ -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.
|
||||
|
||||
38
.github/workflows/release-please.yml
vendored
Normal file
38
.github/workflows/release-please.yml
vendored
Normal file
@@ -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 }}
|
||||
Reference in New Issue
Block a user