diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 45367db..5d1e52f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -13,6 +13,20 @@ jobs: - name: Checkout uses: actions/checkout@v2 + - name: Semantic Release + uses: cycjimmy/semantic-release-action@v2 + id: semantic + with: + semantic_version: 16 + extra_plugins: | + @semantic-release/changelog + @semantic-release/git + conventional-changelog-eslint + branches: | + ['main'] + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Update Pip run: | python3 -m pip install --upgrade pip diff --git a/.releaserc.json b/.releaserc.json new file mode 100644 index 0000000..49fa875 --- /dev/null +++ b/.releaserc.json @@ -0,0 +1,48 @@ +{ + "branch": "dev", + "plugins": [ + [ + "@semantic-release/commit-analyzer", + { + "preset": "eslint", + "releaseRules": [ + { "tag": "Breaking", "release": "major" }, + { "tag": "Build", "release": "minor" }, + { "tag": "Chore", "release": "minor" }, + { "tag": "Fix", "release": "patch" }, + { "tag": "New", "release": "minor" }, + { "tag": "Update", "release": "minor" }, + { "tag": "Upgrade", "release": "minor" } + ] + } + ], + [ + "@semantic-release/release-notes-generator", + { + "preset": "eslint", + "releaseRules": [ + { "tag": "Breaking", "release": "major" }, + { "tag": "Build", "release": "minor" }, + { "tag": "Chore", "release": "minor" }, + { "tag": "Fix", "release": "patch" }, + { "tag": "New", "release": "minor" }, + { "tag": "Update", "release": "minor" }, + { "tag": "Upgrade", "release": "minor" } + ] + } + ], + [ + "@semantic-release/changelog", + { + "changelogFile": "CHANGELOG.md" + } + ], + "@semantic-release/github", + [ + "@semantic-release/git", { + "assets": ["package.json", "CHANGELOG.md"], + "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + } + ] + ] +}