├── .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 '/