To help add-on developers, and the general Plone developer community, prepare for pip-based installations of Plone, the Installers team released the first version of plone/setup-plone
Our goal is to implement the toolset needed for proper support of Plone installations with pip
Summary
- Supports Plone 5.2 and Plone 6.0 (Python 3.7 or superior)
- Packages should not use
<includeDependencies package="." />
(Replace it with explicit includes of other packages) - Until pip is fixed, always use
--use-deprecated legacy-resolver
option during installation. - Still dealing with robot-framework tests (Help needed, btw)
Examples
Usage on pas.plugins.authomatic
name: Build and test
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python:
- 3.7
- 3.8
- 3.9
plone:
- "6.0.0a1"
- "5.2-latest"
exclude:
- plone: "5.2-latest"
python: 3.9
steps:
- uses: actions/checkout@v2
- name: Setup Plone ${{ matrix.plone }} with Python ${{ matrix.python }}
id: setup
uses: plone/setup-plone@v1.0.0
with:
python-version: ${{ matrix.python }}
plone-version: ${{ matrix.plone }}
# Install pas.plugins.authomatic with test extras
- name: Install pas.plugins.authomatic
run: |
pip install ".[test]" --use-deprecated legacy-resolver
# test
- name: test
run: |
zope-testrunner --auto-color --auto-progress --test-path src
Usage on plone.volto
name: Tests
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python: [3.7, 3.8, 3.9]
plone: ["6.0.0a1", "5.2-latest"]
exclude:
- plone: "5.2-latest"
python: 3.9
steps:
# git checkout
- uses: actions/checkout@v2
- name: Setup Plone ${{ matrix.plone }} with Python ${{ matrix.python }}
id: setup
uses: plone/setup-plone@v1.0.0
with:
python-version: ${{ matrix.python }}
plone-version: ${{ matrix.plone }}
# Install plone.volto with test extras
- name: Install plone.volto
run: |
pip install ".[test]" --use-deprecated legacy-resolver
# test
- name: test
run: |
zope-testrunner --auto-color --auto-progress --test-path src
Next Steps
- Implement lint checkers (Flake 8, isort, black)
- Cache Python x Plone combinations