diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 00000000000..373be28e413 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,34 @@ +on: + push: + branches: + - main + +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 }} + release-type: simple + - name: tag major, minor, and patch 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 }} || true + git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true + git tag -a v${{ steps.release.outputs.major }} -m "Release v${{ steps.release.outputs.major }}" + git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}" + git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}.${{ steps.release.outputs.patch }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}.${{ steps.release.outputs.patch }}" + git push --force gh-token v${{ steps.release.outputs.major }} + git push --force gh-token v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} + git push --force gh-token v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}.${{ steps.release.outputs.patch }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 352ad723277..c80afc767aa 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,6 +16,7 @@ repos: rev: v2.7.1 hooks: - id: prettier + exclude: "CHANGELOG\\.md$" # Workaround for https://github.com/pre-commit/mirrors-prettier/issues/29 additional_dependencies: - prettier@2.8.7 diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 00000000000..cc52db24ca6 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,8 @@ +{ + "extra-files": [ + { + "type": "generic", + "path": "app/VERSION" + } + ] +} diff --git a/app/VERSION b/app/VERSION new file mode 100644 index 00000000000..bce9f90bd5a --- /dev/null +++ b/app/VERSION @@ -0,0 +1,13 @@ +# x-release-please-start-major +VERSION_MAJOR = 0 +# x-release-please-end + +# x-release-please-start-minor +VERSION_MINOR = 0 +# x-release-please-end + +# x-release-please-start-patch +PATCHLEVEL = 1 +# x-release-please-end + +VERSION_TWEAK = 0 \ No newline at end of file