Skip to content

getting automatic main release set up for pypi #28

getting automatic main release set up for pypi

getting automatic main release set up for pypi #28

Workflow file for this run

name: CI
on:
push:
branches:
- main
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Black
uses: github/super-linter@v4
env:
VALIDATE_PYTHON_BLACK: true
DEFAULT_BRANCH: master
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
safety-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: pyupio/safety-action@v1
with:
api-key: ${{ secrets.SAFETY_API_KEY }}
test:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
poetry-version: ["1.8.3"]
os: [ubuntu-latest, ubuntu-22.04, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'
- name: Install poetry
uses: abatilo/[email protected]
with:
poetry-version: ${{ matrix.poetry-version }}
- name: dependency checks
run: |
poetry check
- name: install dependencies
run: |
poetry install
- name: tests
run: |
poetry install
poetry run python -m pytest
release:
name: "Build and Release"
runs-on: ubuntu-latest
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishin
environment:
name: release
url: https://pypi.org/p/paseto
needs:
- test
- safety-check
- lint
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: "3.12"
architecture: 'x64'
- name: Install poetry
uses: abatilo/[email protected]
with:
poetry-version: "1.8.3"
- name: dependency checks
run: |
poetry check
- name: install dependencies
run: |
poetry install
- name: build
run: |
poetry build
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1