Skip to content
Snippets Groups Projects
python-package.yml 2.74 KiB
Newer Older
Marcin Wątroba's avatar
Marcin Wątroba committed
name: CI
on: pull_request
Marcin Wątroba's avatar
Marcin Wątroba committed

jobs:
Marcin Wątroba's avatar
Marcin Wątroba committed
    tests:
        strategy:
            fail-fast: false
            matrix:
                python-version: [ 3.9.6 ]
                poetry-version: [ 1.1.5 ]
Marcin Wątroba's avatar
Marcin Wątroba committed
                # os: [ ubuntu-20.04, macos-latest, windows-latest ]
                os: [ ubuntu-20.04 ]
Marcin Wątroba's avatar
Marcin Wątroba committed
        runs-on: ${{ matrix.os }}
        steps:
            -   uses: actions/checkout@v2
            -   uses: actions/setup-python@v2
                with:
                    python-version: ${{ matrix.python-version }}
            -   name: Install poetry
                uses: abatilo/actions-poetry@v2.0.0
                with:
                    poetry-version: ${{ matrix.poetry-version }}
            -   name: Install deps
                run: poetry install -vv
            -   name: Run tests
                run: poetry run poe test
    lint:
        strategy:
            fail-fast: false
            matrix:
                python-version: [ 3.9.6 ]
                poetry-version: [ 1.1.5 ]
                os: [ ubuntu-20.04 ]
        runs-on: ${{ matrix.os }}
        steps:
            -   uses: actions/checkout@v2
            -   uses: actions/setup-python@v2
                with:
                    python-version: ${{ matrix.python-version }}
            -   name: Install poetry
                uses: abatilo/actions-poetry@v2.0.0
                with:
                    poetry-version: ${{ matrix.poetry-version }}
            -   name: Install deps
                run: poetry install -vv
            -   name: Check
                run: poetry run poe check
    publish:
        needs:
            - tests
            - lint
        environment: Test deployment
        strategy:
            fail-fast: false
            matrix:
                python-version: [ 3.9.6 ]
                poetry-version: [ 1.1.5 ]
                os: [ ubuntu-20.04 ]
        runs-on: ${{ matrix.os }}
        steps:
            -   uses: actions/checkout@v2
                with:
                    fetch-depth: 0
            -   uses: actions/setup-python@v2
                with:
                    python-version: ${{ matrix.python-version }}
            -   name: Install poetry
                uses: abatilo/actions-poetry@v2.0.0
                with:
                    poetry-version: ${{ matrix.poetry-version }}
            -   name: Install deps
                run: poetry install -vv
            -   name: Build and publish
                run: |
                    poetry version "$(poetry version --short)-alpha.${GITHUB_RUN_NUMBER}"
                    poetry build
                    poetry config repositories.clarinpypi https://pypi.clarin-pl.eu/
                    poetry publish -r clarinpypi --username ${{ secrets.PYPI_USER }} --password ${{ secrets.PYPI_PASS }}