From 0b925a383816911835bff3a3cf5522ce79e2e87a Mon Sep 17 00:00:00 2001 From: "hasnain2808@gmail.com" Date: Wed, 3 Feb 2021 10:21:40 +0530 Subject: [PATCH] chore: Add Semantic Release --- .github/workflows/release.yml | 28 ++++++++++++++++++++++++++++ .releaserc | 25 +++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 .releaserc diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..ff2f7879 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,28 @@ +name: Release +on: + push: + branches: + - v5.x +jobs: + release: + name: Release + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v1 + with: + node-version: 12 + - name: Set-up semantic-release plugins + run: npm install @semantic-release/git @semantic-release/exec --no-save + - name: Set-up python build env + run: pip install wheel twine + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TEST_PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }} + TEST_PYPI_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }} + run: npx semantic-release diff --git a/.releaserc b/.releaserc new file mode 100644 index 00000000..7d97606d --- /dev/null +++ b/.releaserc @@ -0,0 +1,25 @@ +{ + "branches": ["v5.x"], + "plugins": [ + "@semantic-release/commit-analyzer", + "@semantic-release/release-notes-generator", + ["@semantic-release/exec", { + "prepareCmd": 'sed -ir "s/[0-9]*\.[0-9]*\.[0-9]*/${nextRelease.version}/" bench/__init__.py' + }], + ["@semantic-release/exec", { + "prepareCmd": "python setup.py bdist_wheel --universal" + }], + ["@semantic-release/git", { + "assets": ["bench/__init__.py"], + "message": "chore(release): Bumped to Version ${nextRelease.version}\n\n${nextRelease.notes}" + }], + ["@semantic-release/github", { + "assets": [ + {"path": "dist/*"}, + ] + }], + ["@semantic-release/exec", { + "publishCmd": "python -m twine upload -r testpypi dist/* -u $TEST_PYPI_USERNAME -p $TEST_PYPI_PASSWORD" + }] + ] +}