Newer
Older
skill-ovos-flowtoys / .github / workflows / publish_build.yml
# This workflow will generate a distribution and upload it to PyPI

name: Publish Build Release ..X
on:
  workflow_dispatch:

jobs:
  build_and_publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: dev
          fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
      - name: Setup Python
        uses: actions/setup-python@v1
        with:
          python-version: 3.8
      - name: Install Build Tools
        run: |
          python -m pip install build wheel
      - name: Install OSM
        run: |
          pip install ovos-skills-manager~=0.0.10
      - name: Remove alpha (declare stable)
        run: |
          VER=$(python setup.py --version)
          python scripts/remove_alpha.py
      - name: "Generate release changelog"
        uses: heinrichreimer/[email protected]
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
        id: changelog
      - name: Commit to dev
        uses: stefanzweifel/git-auto-commit-action@v4
        with:
          commit_message: Declare alpha stable
          branch: dev
      - name: Push dev -> master
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branch: master
          force: true
      - name: version
        run: echo "::set-output name=version::$(python setup.py --version)"
        id: version
      - 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.version.outputs.version }}
          release_name: Release ${{ steps.version.outputs.version }}
          body: |
            Changes in this Release
            ${{ steps.changelog.outputs.changelog }}
          draft: false
          prerelease: false
      - name: Build Distribution Packages
        run: |
          python setup.py bdist_wheel
      - name: Prepare next Build version
        run: echo "::set-output name=version::$(python setup.py --version)"
        id: alpha
      - name: Increment Version ${{ steps.alpha.outputs.version }}Alpha0
        run: |
          VER=$(python setup.py --version)
          python scripts/bump_build.py
      - name: Commit to dev
        uses: stefanzweifel/git-auto-commit-action@v4
        with:
          commit_message: Prepare Next Version
          branch: dev
      - name: Publish to Test PyPI
        uses: pypa/gh-action-pypi-publish@master
        with:
          password: ${{secrets.PYPI_TOKEN}}