diff --git a/.github/workflows/create-release-and-publish.yml b/.github/workflows/create-release-and-publish.yml new file mode 100644 index 0000000..c82bd66 --- /dev/null +++ b/.github/workflows/create-release-and-publish.yml @@ -0,0 +1,50 @@ +name: Create Release and publish to pypi.org on Version Change + +on: + push: + paths: + - 'src/oncall/__init__.py' + +jobs: + build: + name: Create Release + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@master + - name: Get version + id: get_version + run: echo "::set-output name=version::$(grep -Po '\d.\d.\d' src/oncall/__init__.py)" + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token + with: + tag_name: v${{ steps.get_version.outputs.version }} + release_name: v${{ steps.get_version.outputs.version }} + draft: false + prerelease: false + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build package + run: | + python setup.py sdist bdist_wheel + - name: Publish to test.pypi.org + env: + TWINE_USERNAME: ${{ secrets.TEST_PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }} + run: | + twine upload --repository-url https://test.pypi.org/legacy/ dist/* + - name: Publish to pypi.org + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + twine upload dist/* diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml deleted file mode 100644 index e326c0b..0000000 --- a/.github/workflows/create-release.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Create Release on Version Change - -on: - push: - paths: - - 'src/oncall/__init__.py' - -jobs: - build: - name: Create Release - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@master - - name: Get version - id: get_version - run: echo "::set-output name=version::$(grep -Po '\d.\d.\d' src/oncall/__init__.py)" - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token - with: - tag_name: v${{ steps.get_version.outputs.version }} - release_name: v${{ steps.get_version.outputs.version }} - draft: false - prerelease: false