mirror of
https://github.com/Hopiu/django-modeltranslation.git
synced 2026-03-24 09:30:23 +00:00
104 lines
3.2 KiB
YAML
104 lines
3.2 KiB
YAML
# Docs:
|
|
# - https://docs.github.com/en/actions/guides/about-service-containers
|
|
# Example
|
|
# - https://github.com/actions/example-services/blob/main/.github/workflows/postgres-service.yml
|
|
name: CI
|
|
on: [push, pull_request]
|
|
jobs:
|
|
Lint:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
strategy:
|
|
matrix:
|
|
python: [3.9]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
- name: Install flake8
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install flake8 black
|
|
- name: Lint with flake8 and black
|
|
run: |
|
|
flake8 modeltranslation
|
|
black --check modeltranslation *.py
|
|
Install:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
strategy:
|
|
matrix:
|
|
python: [3.9]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
- name: Install package
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install .
|
|
Test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python: [3.7, 3.8, 3.9]
|
|
django: [2.2, 3.2]
|
|
database: ["sqlite", "postgres", "mysql"]
|
|
include:
|
|
- python-version: "3.9"
|
|
django: "4.0"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
DJANGO: ${{ matrix.django }}
|
|
DB: ${{ matrix.database }}
|
|
DB_HOST: 127.0.0.1
|
|
MYSQL_DATABASE: "modeltranslation"
|
|
MYSQL_USER: "root"
|
|
MYSQL_PASSWORD: "password"
|
|
POSTGRES_DB: "modeltranslation"
|
|
POSTGRES_USER: "modeltranslation"
|
|
POSTGRES_PASSWORD: "modeltranslation"
|
|
services:
|
|
mariadb:
|
|
image: mariadb
|
|
ports:
|
|
- 3306:3306
|
|
env:
|
|
MYSQL_DATABASE: "modeltranslation"
|
|
MYSQL_USER: "modeltranslation"
|
|
MYSQL_PASSWORD: "password"
|
|
MYSQL_ROOT_PASSWORD: "password"
|
|
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
|
postgres:
|
|
image: postgres
|
|
ports:
|
|
- 5432:5432
|
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
|
env:
|
|
POSTGRES_DB: "modeltranslation"
|
|
POSTGRES_USER: "modeltranslation"
|
|
POSTGRES_PASSWORD: "modeltranslation"
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
- name: Set up env
|
|
run: |
|
|
if [[ $DB == mysql ]]; then
|
|
pip install -q mysqlclient
|
|
fi
|
|
if [[ $DB == postgres ]]; then
|
|
pip install -q psycopg2-binary
|
|
fi
|
|
pip install coverage six $(./get-django-version.py ${{ matrix.django }})
|
|
- name: Run tests
|
|
run: |
|
|
coverage run --source=modeltranslation ./runtests.py
|