├── .github
├── dependabot.yml
└── workflows
│ └── release.yml
├── .gitignore
├── LICENSE
├── README.md
└── action.yml
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "github-actions"
4 | directory: "/"
5 | schedule:
6 | interval: "monthly"
7 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | # Releases are fully automated using [semantic-release](https://github.com/semantic-release/semantic-release/).
2 | #
3 | # The following commit message conventions determine which version is released:
4 | #
5 | # 1. `fix: ...` or `fix(scope name): ...` prefix in subject: bumps fix version, e.g. `1.2.3` → `1.2.4`
6 | # 2. `feat: ...` or `feat(scope name): ...` prefix in subject: bumps feature version, e.g. `1.2.3` → `1.3.0`
7 | # 3. `BREAKING CHANGE:` in body: bumps breaking version, e.g. `1.2.3` → `2.0.0`
8 | #
9 | # Only one version number is bumped at a time, the highest version change trumps the others.
10 | # Besides, publishing a new version to npm, semantic-release also creates a git tag and release
11 | # on GitHub, generates changelogs from the commit messages and puts them into the release notes.
12 | #
13 | # If the pull request looks good but does not follow the commit conventions, update the pull request title and use the Squash & merge button, at which point you can set a custom commit message.
14 | #
15 | # With each new release, a breaking version tag (e.g. `v1`, `v2`, etc) is created or updated.
16 | #
17 | # ## Rollback Latest Release
18 | #
19 | # Let's say `v1.2.3` include a bug and we want to roll back to `v1.2.2`. To accomplish that, the `v1` tag needs to be updated. That can be done using the following code
20 | #
21 | # ```
22 | # # update `v1` tag to point to `v1.2.2`
23 | # git tag --force v1 v1.2.2
24 | # git push --force --tags
25 | # ```
26 | #
27 | # Any questions? Ping @gr2m
28 |
29 | name: 🚀 Release
30 | "on":
31 | workflow_dispatch:
32 | push:
33 | branches:
34 | - main
35 | - beta
36 | - "*.x"
37 |
38 | jobs:
39 | release:
40 | name: release
41 | runs-on: ubuntu-latest
42 | steps:
43 | - uses: actions/checkout@v4
44 | - uses: actions/setup-node@v4
45 | with:
46 | node-version: "lts/*"
47 | - name: install semantic-release plugins
48 | run: npm install --no-save semantic-release-plugin-github-breaking-version-tag
49 | - name: write configuration
50 | run: |
51 | cat >.releaserc </,/<\/header>/' README.md)
60 | FOOTER=$(awk '/