Skip to content

[pre-commit.ci] pre-commit autoupdate #78

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #78

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- "master"
tags:
- "[0-9]+.[0-9]+.[0-9]+"
jobs:
tests:
runs-on: ${{matrix.machine}}
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.6"
toxenv: "py36-11.0"
machine: ubuntu-20.04
- python-version: "3.6"
toxenv: "py36-12.0"
machine: ubuntu-20.04
- python-version: "3.6"
toxenv: "py36-13.0"
machine: ubuntu-20.04
- python-version: "3.6"
toxenv: "py36-14.0"
machine: ubuntu-20.04
- python-version: "3.8"
toxenv: "py38-15.0"
machine: ubuntu-22.04
- python-version: "3.10"
toxenv: "py310-16.0"
machine: ubuntu-22.04
- python-version: "3.10"
toxenv: "py310-17.0"
machine: ubuntu-22.04
- python-version: "3.10"
toxenv: "twine_check"
machine: ubuntu-22.04
services:
postgres:
image: postgres:9.6
env:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
ports:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options:
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5
env:
PGHOST: localhost
PGPORT: 5432
PGUSER: odoo
PGPASSWORD: odoo
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: "${{ matrix.python-version }}"
- uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.toxenv }}
- name: Install system dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -qq --no-install-recommends \
libxml2-dev libxslt1-dev \
libldap2-dev libsasl2-dev \
gettext
pip install tox virtualenv
- name: Run tox
run: tox -e ${{ matrix.toxenv }}
- uses: codecov/codecov-action@v1
deploy:
runs-on: ubuntu-latest
needs:
- tests
if: startsWith(github.ref, 'refs/tags')
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- name: Build a binary wheel and a source tarball
run: pipx run build
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.pypi_token }}