Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# https://github.com/plone/meta/tree/main/src/plone/meta/default
# See the inline comments on how to expand/tweak this configuration file
#
# EditorConfig Configuration file, for more details see:
# http://EditorConfig.org
Expand All @@ -12,7 +13,8 @@
root = true


[*] # For All Files
[*]
# Default settings for all files.
# Unix-style newlines with a newline ending every file
end_of_line = lf
insert_final_newline = true
Expand All @@ -28,12 +30,27 @@ max_line_length = off
# 4 space indentation
indent_size = 4

[*.{yml,zpt,pt,dtml}]
[*.{yml,zpt,pt,dtml,zcml,html,xml}]
# 2 space indentation
indent_size = 2

[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss}]
# Frontend development
# 2 space indentation
indent_size = 2
max_line_length = 80

[{Makefile,.gitmodules}]
# Tab indentation (no size specified, but view as 4 spaces)
indent_style = tab
indent_size = unset
tab_width = unset


##
# Add extra configuration options in .meta.toml:
# [editorconfig]
# extra_lines = """
# _your own configuration lines_
# """
##
22 changes: 22 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Generated from:
# https://github.com/plone/meta/tree/main/src/plone/meta/default
# See the inline comments on how to expand/tweak this configuration file
[flake8]
doctests = 1
ignore =
# black takes care of line length
E501,
# black takes care of where to break lines
W503,
# black takes care of spaces within slicing (list[:])
E203,
# black takes care of spaces after commas
E231,

##
# Add extra configuration options in .meta.toml:
# [flake8]
# extra_lines = """
# _your own configuration lines_
# """
##
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Generated from:
# https://github.com/plone/meta/tree/main/src/plone/meta/default
# See the inline comments on how to expand/tweak this configuration file
version: 2
updates:

- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"
63 changes: 63 additions & 0 deletions .github/workflows/meta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Generated from:
# https://github.com/plone/meta/tree/main/src/plone/meta/default
# See the inline comments on how to expand/tweak this configuration file
name: Meta
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
workflow_dispatch:

##
# To set environment variables for all jobs, add in .meta.toml:
# [github]
# env = """
# debug: 1
# image-name: 'org/image'
# image-tag: 'latest'
# """
##

jobs:
qa:
uses: plone/meta/.github/workflows/[email protected]
coverage:
uses: plone/meta/.github/workflows/[email protected]
release_ready:
uses: plone/meta/.github/workflows/[email protected]
circular:
uses: plone/meta/.github/workflows/[email protected]

##
# To modify the list of default jobs being created add in .meta.toml:
# [github]
# jobs = [
# "qa",
# "coverage",
# "dependencies",
# "release_ready",
# "circular",
# ]
##

##
# To request that some OS level dependencies get installed
# when running tests/coverage jobs, add in .meta.toml:
# [github]
# os_dependencies = "git libxml2 libxslt"
##


##
# Specify additional jobs in .meta.toml:
# [github]
# extra_lines = """
# another:
# uses: org/repo/.github/workflows/file.yml@main
# """
##
72 changes: 72 additions & 0 deletions .github/workflows/test-matrix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Generated from:
# https://github.com/plone/meta/tree/main/src/plone/meta/default
# See the inline comments on how to expand/tweak this configuration file
name: Tests

on:
push:

jobs:
build:
permissions:
contents: read
pull-requests: write
strategy:
# We want to see all failures:
fail-fast: false
matrix:
os:
- ["ubuntu", "ubuntu-latest"]
config:
# [Python version, visual name, tox env]
- ["3.13", "6.2 on py3.13", "py313-plone62"]
- ["3.10", "6.2 on py3.10", "py310-plone62"]

runs-on: ${{ matrix.os[1] }}
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
name: ${{ matrix.config[1] }}
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.config[0] }}
allow-prereleases: true

##
# Add extra configuration options in .meta.toml:
# [github]
# extra_lines_after_os_dependencies = """
# _your own configuration lines_
# """
##
- name: Pip cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.config[0] }}-${{ hashFiles('setup.*', 'tox.ini') }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.config[0] }}-
${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
- name: Initialize tox
# the bash one-liner below does not work on Windows
if: contains(matrix.os, 'ubuntu')
run: |
if [ `tox list --no-desc -f init|wc -l` = 1 ]; then tox -e init;else true; fi
- name: Test
run: tox -e ${{ matrix.config[2] }}


##
# Add extra configuration options in .meta.toml:
# [github]
# extra_lines = """
# _your own configuration lines_
# """
##
7 changes: 3 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
name: tests
# plone.autoinclude has a really specific test setup, and can only really be
# tested on its own, not on Jenkins in combination with other plone packages.
name: Unit/integration

on:
push:
Expand All @@ -19,17 +21,14 @@ jobs:
config:
# [Python version, tox env]
- ["3.10", "lint", "ubuntu-latest"]
- ["3.9", "py39-unit", "ubuntu-latest"]
- ["3.10", "py310-unit", "ubuntu-latest"]
- ["3.11", "py311-unit", "ubuntu-latest"]
- ["3.12", "py312-unit", "ubuntu-latest"]
- ["3.13", "py313-unit", "ubuntu-latest"]
- ["3.9", "py39-integration", "ubuntu-latest"]
- ["3.10", "py310-integration", "ubuntu-latest"]
- ["3.11", "py311-integration", "ubuntu-latest"]
- ["3.12", "py312-integration", "ubuntu-latest"]
- ["3.13", "py313-integration", "ubuntu-latest"]
- ["3.9", "buildout", "ubuntu-latest"]
- ["3.13", "buildout", "ubuntu-latest"]
- ["3.13", "buildout5", "ubuntu-latest"]
- ["3.10", "coverage", "ubuntu-latest"]
Expand Down
59 changes: 44 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,29 +1,58 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
*.egg-info/
*.profraw
# https://github.com/plone/meta/tree/main/src/plone/meta/default
# See the inline comments on how to expand/tweak this configuration file
# python related
*.egg-info
*.pyc
*.pyo
*.swp
.coverage
.coverage.*
.eggs/
.installed.cfg
.mr.developer.cfg
.tox/
__pycache__/
bin/

# translation related
*.mo

# tools related
build/
.coverage
.*project
coverage.xml
develop-eggs/
develop/
dist/
docs/_build
__pycache__/
.tox
.vscode/
node_modules/
forest.dot
forest.json

# venv / buildout related
bin/
develop-eggs/
eggs/
.eggs/
etc/
.installed.cfg
include/
lib/
lib64
log/
.mr.developer.cfg
parts/
pyvenv.cfg
var/
local.cfg

# mxdev
/instance/
/.make-sentinels/
/*-mxdev.txt
/reports/
/sources/
/venv/
.installed.txt


##
# Add extra configuration options in .meta.toml:
# [gitignore]
# extra_lines = """
# _your own configuration lines_
# """
##
Loading