Skip to content

Commit

Permalink
Move to Github Actions CI
Browse files Browse the repository at this point in the history
  • Loading branch information
fizyk committed May 14, 2021
1 parent ad53da7 commit 1023683
Show file tree
Hide file tree
Showing 8 changed files with 208 additions and 14 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/automerge.yml
@@ -0,0 +1,41 @@
name: Automerge Pull Requests
on:
pull_request:
types:
- labeled
- unlabeled
- synchronize
- opened
- edited
- ready_for_review
- reopened
- unlocked
pull_request_review:
types:
- submitted
check_suite:
types:
- completed
status: {}

jobs:
automerge:
name: Automerge Dependabot
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
steps:
- name: 'Wait for status checks'
id: waitforstatuschecks
uses: "WyriHaximus/github-action-wait-for-status@v1.3"
with:
ignoreActions: Automerge Dependabot
checkInterval: 13
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Merge pull requests
uses: pascalgn/automerge-action@v0.13.1
if: steps.waitforstatuschecks.outputs.status == 'success'
env:
MERGE_METHOD: "squash"
MERGE_LABELS: ""
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
26 changes: 26 additions & 0 deletions .github/workflows/build.yml
@@ -0,0 +1,26 @@
name: Test build package

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build:
name: Build Python 🐍 distributions 📦
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install build tools
run: pip install pep517
- name: Build a wheel package
run: python -m pep517.build .
- name: Install twine to check the package
run: pip install twine
- name: Check the package
run: twine check dist/*
60 changes: 60 additions & 0 deletions .github/workflows/linters.yml
@@ -0,0 +1,60 @@
name: Run linters

on:
push:
branches: [ master ]
paths:
- '**.py'
- .github/workflows/linters.yml
- requirements-lint.txt
pull_request:
branches: [ master ]
paths:
- '**.py'
- .github/workflows/linters.yml
- requirements-lint.txt

jobs:
pydocstyle:
runs-on: ubuntu-latest
strategy:
fail-fast: false

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-lint.txt
- name: Run pydocstyle
run: |
pydocstyle src/ tests/
pycodestyle:
runs-on: ubuntu-latest
strategy:
fail-fast: false

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-lint.txt
- name: Run pydocstyle
run: |
pycodestyle src/ tests/
black:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: psf/black@main
29 changes: 29 additions & 0 deletions .github/workflows/pypi.yml
@@ -0,0 +1,29 @@
name: Package and publish
on:
push:
tags:
- v*
jobs:
build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install build tools
run: pip install pep517
- name: Build a wheel package
run: python -m pep517.build .
# - name: Publish distribution 📦 to Test PyPI
# uses: pypa/gh-action-pypi-publish@master
# with:
# password: ${{ secrets.test_pypi_password }}
# repository_url: https://test.pypi.org/legacy/
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.pypi_password }}
verbose: true
43 changes: 43 additions & 0 deletions .github/workflows/tests.yml
@@ -0,0 +1,43 @@
name: Run tests

on:
push:
branches: [ master ]
paths:
- '**.py'
- .github/workflows/tests.yml
- requirements-test.txt
pull_request:
branches: [ master ]

jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
python-version: [3.7, 3.8, 3.9, pypy-3.7-v7.3.3]
env:
OS: ubuntu-latest
PYTHON: ${{ matrix.python-version }}
# Service containers to run with `container-job`

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Run test
run: |
pytest -n 0 --cov-report=xml
- name: Run xdist test
run: |
pytest -n 1 --cov-report=xml:coverage-xdist.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
files: ./coverage.xml, ./coverage-xdist.xml
flags: linux
env_vars: OS, PYTHON
fail_ci_if_error: true
11 changes: 0 additions & 11 deletions README.rst
Expand Up @@ -21,17 +21,6 @@ pytest-redis
:target: https://pypi.python.org/pypi/pytest-redis/
:alt: License

Package status
--------------

.. image:: https://travis-ci.org/ClearcodeHQ/pytest-redis.svg?branch=v2.0.0
:target: https://travis-ci.org/ClearcodeHQ/pytest-redis
:alt: Tests

.. image:: https://coveralls.io/repos/ClearcodeHQ/pytest-redis/badge.svg?branch=v2.0.0
:target: https://coveralls.io/r/ClearcodeHQ/pytest-redis?branch=v2.0.0
:alt: Coverage Status

What is this?
=============

Expand Down
8 changes: 8 additions & 0 deletions pyproject.toml
@@ -0,0 +1,8 @@
[build-system]
requires = ["setuptools >= 40.6.0", "wheel"]
build-backend = "setuptools.build_meta"

[tool.black]
line-length = 100
target-version = ['py38']
include = '.*\.pyi?$'
4 changes: 1 addition & 3 deletions requirements-lint.txt
@@ -1,7 +1,5 @@
# linters
pycodestyle==2.7.0
pydocstyle==6.0.0
pylint==2.8.2
pygments
pyroma==3.1
black==21.5b1
-r requirements-test.txt

0 comments on commit 1023683

Please sign in to comment.