Skip to content

Commit

Permalink
Merge pull request #72 from cfpb/wag4
Browse files Browse the repository at this point in the history
Support Wagtail >= 4, drop support for Wagtail < 4
  • Loading branch information
willbarton authored Mar 10, 2023
2 parents a25621c + 9d273d9 commit f8efa24
Show file tree
Hide file tree
Showing 27 changed files with 261 additions and 270 deletions.
16 changes: 9 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,28 @@
name: Publish to PyPI
on:
on:
release:
types: [published]
workflow_dispatch:


jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v4
with:
python-version: 3.7
python-version: 3.11
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade pip build
pip install twine wheel
- name: Build the package
run: |
python setup.py sdist bdist_wheel --universal
python -m build
- name: Upload to PyPI
run: twine upload dist/*
env:
env:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
31 changes: 14 additions & 17 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: "3.8"

- name: Install dependencies
run: |
Expand All @@ -32,23 +32,20 @@ jobs:
strategy:
matrix:
toxenv:
# Legacy versions
- py39-dj32-wag215

# Current and latest versions
- py310-dj32-wag30
- py310-dj40-wag30
- py310-dj40-waglatest
- py38-dj3-wag4
- py38-dj4-wag4
- py38-dj3-waglatest
- py38-dj4-waglatest

include:
- toxenv: py39-dj32-wag215
python-version: "3.9"
- toxenv: py310-dj32-wag30
python-version: "3.10"
- toxenv: py310-dj40-wag30
python-version: "3.10"
- toxenv: py310-dj40-waglatest
python-version: "3.10"
- toxenv: py38-dj3-wag4
python-version: 3.8
- toxenv: py38-dj4-wag4
python-version: 3.8
- toxenv: py38-dj3-waglatest
python-version: 3.8
- toxenv: py38-dj4-waglatest
python-version: 3.8

steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -89,7 +86,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: "3.8"

- name: Install dependencies
run: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,4 @@ dist/

# IDEs
.idea/
*.db
7 changes: 3 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@ repos:
- id: black
args: ["wagtailflags", "setup.py", "--line-length=79"]
exclude: migrations
- repo: https://gitlab.com/pycqa/flake8
rev: 4.0.1
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.0.188
hooks:
- id: flake8
additional_dependencies: [flake8-bugbear==22.1.11]
- id: ruff
- repo: https://github.com/pycqa/isort
rev: 5.10.1
hooks:
Expand Down
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Wagtail-Flags

[![Build Status](https://github.com/cfpb/wagtail-flags/workflows/test/badge.svg)](https://github.com/cfpb/wagtail-flags/actions?query=workflow%3Atest)
[![Coverage Status](https://coveralls.io/repos/github/cfpb/wagtail-flags/badge.svg?branch=main)](https://coveralls.io/github/cfpb/wagtail-flags?branch=main)
[![Ethical open source](https://img.shields.io/badge/open-ethical-%234baaaa)](https://ethicalsource.dev/definition/)

Feature flags allow you to toggle functionality based on configurable conditions.
Expand All @@ -22,10 +21,10 @@ Wagtail-Flags adds a Wagtail admin UI and Wagtail Site-based condition on top of

## Dependencies

- Python 3.6+
- Django 3.2 (LTS), 4.0 (current)
- Python 3.8+
- Django 3.2 (LTS)+
- Django-Flags 4.2
- Wagtail 2.15 (LTS), 3.0
- Wagtail 4.0+

It should be compatible at all intermediate versions, as well.
If you find that it is not, please [file an issue](https://github.com/cfpb/wagtail-flags/issues/new).
Expand Down
90 changes: 82 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,54 @@
[project]
name = "wagtail-flags"
version = "5.3.0"
description = "Feature flags for Wagtail sites"
readme = "README.md"
requires-python = ">=3.8"
license = {text = "CC0"}
authors = [
{name = "CFPB", email = "[email protected]" }
]
dependencies = [
"wagtail>=4",
"django-flags>4.2"
]
classifiers = [
"Framework :: Django",
"Framework :: Django :: 3.2",
"Framework :: Django :: 4",
"Framework :: Wagtail",
"Framework :: Wagtail :: 4",
"License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication",
"License :: Public Domain",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
]

[project.optional-dependencies]
testing = [
"coverage[toml]",
]

[project.urls]
"Homepage" = "https://github.com/cfpb/wagtail-flags"
"Bug Reports" = "https://github.com/cfpb/wagtail-flags/issues"
"Source" = "https://github.com/cfpb/wagtail-flags"

[build-system]
requires = ["setuptools>=43.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools.package-data]
wagtailflags = [
"templates/wagtailflags/*",
"templates/wagtailflags/flags/*",
"templates/wagtailflags/includes/*",
"static/wagtailflags/css/*",
]

[tool.black]
line-length = 79
target-version = ['py36', 'py38']
target-version = ["py38"]
include = '\.pyi?$'
exclude = '''
(
Expand All @@ -14,15 +62,41 @@ exclude = '''
| dist
| migrations
| site
| \*.json
| \*.csv
)/
)
'''

[build-system]
requires = [
"setuptools>=42",
"wheel"
[tool.isort]
profile = "black"
line_length = 79
lines_after_imports = 2
skip = [".tox", ".venv", "venv"]
known_django = ["django"]
known_wagtail = ["wagtail"]
default_section = "THIRDPARTY"
sections = [
"STDLIB",
"DJANGO",
"WAGTAIL",
"THIRDPARTY",
"FIRSTPARTY",
"LOCALFOLDER"
]

[tool.ruff]
exclude = [
".git",
".tox",
"__pycache__",
]
ignore = []
select = [
"E",
"F",
"W",
]

[tool.coverage.run]
omit = [
"wagtailflags/tests/*",
]
build-backend = "setuptools.build_meta"
Binary file modified screenshot_create.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
76 changes: 0 additions & 76 deletions setup.cfg

This file was deleted.

3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from setuptools import setup

if __name__ == '__main__':

if __name__ == "__main__":
setup()
42 changes: 29 additions & 13 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
skipsdist=True
envlist=
lint,
py{39,310}-dj{32}-wag{215},
py{39,310}-dj{32,40}-wag{30,latest},
py{38,311}-dj{3,4}-wag{4,latest},
coverage

[testenv]
Expand All @@ -14,33 +13,50 @@ setenv=
DJANGO_SETTINGS_MODULE=wagtailflags.tests.settings

basepython=
py39: python3.9
py310: python3.10
py38: python3.8
py311: python3.11

deps=
dj32: Django>=3.2,<3.3
dj40: Django>=4.0,<4.1
wag215: wagtail>=2.15,<2.16
wag30: wagtail>=3.0,<3.1
waglatest: wagtail<4
dj3: Django>=3.2,<4
dj4: Django>=4.1,<5
wag4: wagtail>=4,<5
waglatest: wagtail>4

[testenv:lint]
basepython=python3.10
basepython=python3.8
deps=
black
flake8
ruff
isort
commands=
black --check wagtailflags
flake8 wagtailflags
ruff wagtailflags
isort --check-only --diff wagtailflags

[testenv:coverage]
basepython=python3.10
basepython=python3.8
deps=
coverage
diff_cover
commands=
coverage combine
coverage xml
diff-cover coverage.xml --compare-branch=origin/main --fail-under=100

[testenv:interactive]
basepython=python3.8

deps=
Django>=3.2,<3.3

commands_pre=
{envbindir}/django-admin makemigrations
{envbindir}/django-admin migrate
{envbindir}/django-admin shell -c "from django.contrib.auth.models import User;(not User.objects.filter(username='admin').exists()) and User.objects.create_superuser('admin', '[email protected]', 'changeme')"

commands=
{posargs:{envbindir}/django-admin runserver 0.0.0.0:8000}

setenv=
DJANGO_SETTINGS_MODULE=wagtailflags.tests.settings
INTERACTIVE=1
Binary file modified wagtailflags.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 0 additions & 3 deletions wagtailflags/static/wagtailflags/css/wagtailflags.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
.flags-breadcrumb {
margin-left: 0;
}
section.flag {
margin-top: 4em;
}
Loading

0 comments on commit f8efa24

Please sign in to comment.