diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 394c938..bd20811 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,44 +4,49 @@ on: release: types: [created] +permissions: + contents: read + jobs: test: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: pip - cache-dependency-path: '**/setup.py' + cache-dependency-path: pyproject.toml - name: Install dependencies run: | - pip install -e '.[test]' + pip install '.[test]' - name: Run tests run: | pytest deploy: runs-on: ubuntu-latest needs: [test] + environment: release + permissions: + id-token: write steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: "3.12" cache: pip - cache-dependency-path: '**/setup.py' + cache-dependency-path: pyproject.toml - name: Install dependencies run: | - pip install setuptools wheel twine build - - name: Publish - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} + pip install setuptools wheel build + - name: Build run: | python -m build - twine upload dist/* + - name: Publish + uses: pypa/gh-action-pypi-publish@release/v1 +