diff --git a/.github/workflows/django.yml b/.github/workflows/django.yml index c934ba3..306b69b 100644 --- a/.github/workflows/django.yml +++ b/.github/workflows/django.yml @@ -1,14 +1,33 @@ name: Django CI -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] +on: [push] jobs: - build: + runs-on: ubuntu-20.04 + strategy: + max-parallel: 4 + matrix: + python-version: [3.6, 3.8, 3.9] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install Dependencies + run: | + pip install virtualenv + npm i pg + - name: Test with tox + run: | + source venv/bin/activate + tox -vv + env: + POSTGRES_HOST: localhost + POSTGRES_PORT: 5432 + test: services: postgres: image: postgres:9.6 @@ -27,19 +46,19 @@ jobs: # Maps tcp port 5432 on service container to the host - 5432:5432 - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest strategy: - max-parallel: 4 + max-parallel: 3 matrix: - python-version: [3.6, 3.8, 3.9] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - - name: Install Dependencies + - name: Install dependencies run: | pip install virtualenv npm i pg @@ -47,6 +66,42 @@ jobs: run: | source venv/bin/activate tox -vv - env: - POSTGRES_HOST: localhost - POSTGRES_PORT: 5432 + + test36: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + # Setup doesn't work on 3.6 for Baya, so we install under 3.10 and use Tox to install 3.6 in a virtualenv. + # This syntax is new as of setup-python@4 that enables multiple versions of Python to be installed. + python-version: | + 3.6 + 3.10 + - name: Install dependencies + run: | + pip install virtualenv + npm i pg + - name: Test with tox + run: | + source venv/bin/activate + tox -vv -e py36-django1.11,py36-django2.2 + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.9' + - name: Install dependencies + run: | + pip install virtualenv + npm i pg + - name: lint + run: | + source venv/bin/activate + tox -vv -e flake8 +