Skip to content

2.6.0

2.6.0 #58

Workflow file for this run

---
name: CI/CD
on: # yamllint disable-line rule:truthy
pull_request:
branches:
- main
push:
branches:
- main
release:
types:
- published
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.5.1
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
- name: Black with tox
run: tox -e black
- name: Isort with tox
run: tox -e isort
- name: Pylint with tox
run: tox -e pylint
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11"]
dj-version: [django32, django42]
wagtail-version: [wagtail40, wagtail50]
steps:
- name: Install gettext
run: sudo apt-get install gettext
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.5.1
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
- name: Test with tox
run: |
PY_VERSION=${{ matrix.python-version }} &&
tox -e py${PY_VERSION//.}-${{ matrix.dj-version }}
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
flags: unittests
name: ${{ matrix.python-version }}-${{ matrix.dj-version }}-${{ matrix.wagtail-version }} # yamllint disable-line rule:line-length
yml: ./codecov.yml
release:
name: Release
runs-on: ubuntu-latest
timeout-minutes: 10
environment: release
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
contents: read
if: github.event_name == 'release'
needs:
- lint
- test
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.5.1
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Build Package
run: poetry build
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1