From 5a921464c9349f42f90b91b31f7d550ab261472f Mon Sep 17 00:00:00 2001 From: ffyuanda <46557895+ffyuanda@users.noreply.github.com> Date: Fri, 25 Jun 2021 17:51:46 +0800 Subject: [PATCH] ci: add semantic-release to this repo Signed-off-by: ffyuanda <46557895+ffyuanda@users.noreply.github.com> --- .github/workflows/release.yml | 34 ++++++++++++++++++++++++++++++++-- .releaserc.json | 23 +++++++++++++++++++++++ setup.cfg | 6 ++++++ setup.py | 5 +++-- 4 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 .releaserc.json create mode 100644 setup.cfg diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e1c9adc..b22baa8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -67,7 +67,7 @@ jobs: run: | python -m unittest discover -s tests -t tests - coverall: + coveralls: runs-on: ubuntu-latest steps: - name: Checkout @@ -98,4 +98,34 @@ jobs: - name: Upload coverage data to coveralls.io run: coveralls --service=github env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + release: + name: Release + runs-on: ubuntu-latest + needs: [ tests, coveralls ] + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Setup Node.js + uses: actions/setup-node@v1 + + - name: Setup + run: npm install -g semantic-release @semantic-release/github @semantic-release/changelog @semantic-release/commit-analyzer @semantic-release/git @semantic-release/release-notes-generator semantic-release-pypi + + - name: Set up python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Install setuptools + run: python -m pip install --upgrade setuptools wheel twine + + - name: Release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} + run: npx semantic-release diff --git a/.releaserc.json b/.releaserc.json new file mode 100644 index 0000000..d4aeccb --- /dev/null +++ b/.releaserc.json @@ -0,0 +1,23 @@ +{ + "branches": "master", + "plugins": [ + "@semantic-release/commit-analyzer", + "@semantic-release/release-notes-generator", + "semantic-release-pypi", + "@semantic-release/github", + [ + "@semantic-release/changelog", + { + "changelogFile": "CHANGELOG.md", + "changelogTitle": "# Semantic Versioning Changelog" + } + ], + [ + "@semantic-release/git", + { + "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}", + "assets": ["CHANGELOG.md", "setup.py", "setup.cfg"] + } + ] + ] + } diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..b18f142 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,6 @@ +[bdist_wheel] +universal = 1 + +[metadata] +description-file = README.md +version = 0.0.1 diff --git a/setup.py b/setup.py index 3f1138f..08071e1 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,5 @@ -from setuptools import setup, find_packages +from setuptools import setup, find_packages, __version__ + with open("README.md", "r") as readme_file: readme = readme_file.read() @@ -20,4 +21,4 @@ "Programming Language :: Python :: 3.8", "License :: OSI Approved :: Apache Software License", ], -) \ No newline at end of file +)