---
name: Release
on:
  workflow_dispatch:
jobs:
  release:
    name: Release
    runs-on: ubuntu-latest
    steps:
      - name: Cancel Previous Runs
        uses: styfle/cancel-workflow-action@0.9.1
        with:
          access_token: ${{ github.token }}

      - name: Checkout code
        uses: actions/checkout@v3

      - name: Use pip cache
        uses: actions/cache@v3
        with:
          path: ~/.cache/pip
          key: pip

      - name: Install release requirements
        run: make install-twine

      - name: Build wheel
        run: make build-wheel

      - name: Release
        run: twine upload dist/*
        env:
          TWINE_USERNAME: desecho
          TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}

---
name: Release
on:
  workflow_dispatch:
jobs:
  release:
    name: Release
    runs-on: ubuntu-latest
    steps:
      - name: Cancel Previous Runs
        uses: styfle/cancel-workflow-action@0.9.1
        with:
          access_token: ${{ github.token }}

      - name: Checkout code
        uses: actions/checkout@v3

      - name: Use pip cache
        uses: actions/cache@v3
        with:
          path: ~/.cache/pip
          key: pip

      - name: Install release requirements
        run: make install-twine

      - name: Build wheel
        run: make build-wheel

      - name: Release
        run: twine upload dist/*
        env:
          TWINE_USERNAME: __token__
          TWINE_PASSWORD: ${{ secrets.TWINE_TOKEN }}

Use token for pypi instead of password
Use token for pypi instead of password
