name: Publish Pypi on: release: types: [ published ] jobs: pytest: name: Publish to PyPi runs-on: ubuntu-latest env: ACTIONS_ALLOW_UNSECURE_COMMANDS: true steps: - uses: actions/checkout@master - name: get version from tag id: get_version run: | realversion="${GITHUB_REF/refs\/tags\//}" realversion="${realversion//v/}" echo "::set-output name=VERSION::$realversion" - name: Set the version for publishing uses: ciiiii/toml-editor@1.0.0 with: file: "pyproject.toml" key: "tool.poetry.version" value: "${{ steps.get_version.outputs.VERSION }}" - name: Set up Python 3.8 uses: actions/setup-python@v1 with: python-version: 3.8 - name: install poetry run: | pip install poetry - name: Cache Poetry virtualenv uses: actions/cache@v1 id: cache with: path: ~/.virtualenvs key: poetry-${{ hashFiles('**/poetry.lock') }} restore-keys: | poetry-${{ hashFiles('**/poetry.lock') }} - name: Set Poetry config run: | poetry config virtualenvs.in-project false poetry config virtualenvs.path ~/.virtualenvs - name: Install Dependencies run: poetry install if: steps.cache.outputs.cache-hit != 'true' - name: Publish to PyPI if: github.event_name == 'release' run: | poetry publish -u __token__ -p ${{ secrets.PYPI_TOKEN }} --build