Skip to content

Commit 3baa55b

Browse files
authored
Merge branch '6.0' into chapter-zodb-v2
2 parents 99989b0 + fce4dda commit 3baa55b

File tree

126 files changed

+5644
-3976
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+5644
-3976
lines changed

.github/boring-cyborg.yml

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# boring-cyborg.yml
2+
# https://probot.github.io/apps/boring-cyborg/
3+
4+
##### Labeler ##########################################################################################################
5+
## Enable "labeler" for your PR that would add labels to PRs based on the paths that are modified in the PR.
6+
#labelPRBasedOnFilePath:
7+
# # Add 'label1' to any changes within 'example' folder or any subfolders
8+
# label1:
9+
# - example/**/*
10+
#
11+
# # Add 'label2' to any file changes within 'example2' folder
12+
# label2:
13+
# - example2/*
14+
#
15+
# # Complex: Add 'area/core' label to any change within the 'core' package
16+
# area/core:
17+
# - src/core/*
18+
# - src/core/**/*
19+
#
20+
# # Add 'test' label to any change to *.spec.js files within the source dir
21+
# test:
22+
# - src/**/*.spec.js
23+
#
24+
# Various Flags to control behaviour of the "Labeler"
25+
#labelerFlags:
26+
# # If this flag is changed to 'false', labels would only be added when the PR is first created and not when existing
27+
# # PR is updated.
28+
# # The default is 'true' which means the labels would be added when PR is updated even if they were removed by the user
29+
# labelOnPRUpdates: true
30+
31+
##### Reviewer #########################################################################################################
32+
# Enable "Reviewer" for your PR that would add reviewers to PRs based on the labels that exist on the PR.
33+
# You have the option to set a default reviewer that gets added to every PR, or you can omit that config variable to skip it.
34+
addReviewerBasedOnLabel:
35+
# add list of reviewers to add by default to all PRs
36+
defaultReviewers:
37+
- stevepiercy
38+
# specify PR labels that you want to auto assign reviewers based on
39+
# labels:
40+
# label1:
41+
# - tyler-mairose-sp
42+
# - jordan-violet-sp
43+
# label2:
44+
# - kaxil
45+
46+
##### Greetings ########################################################################################################
47+
# Comment to be posted to welcome users when they open their first PR
48+
firstPRWelcomeComment: >
49+
Thanks for submitting your first pull request! You are awesome! :hugs:
50+
51+
<br>If you haven't done so already, read
52+
[Plone's Code of Conduct](https://plone.org/foundation/about/materials/foundation-resolutions/code-of-conduct)
53+
and [Contribute to documentation](https://6.docs.plone.org/contributing/documentation/index.html),
54+
as this will greatly help the review process.
55+
56+
<br>Welcome to the Plone community! :tada:
57+
58+
# Comment to be posted to congratulate user on their first merged PR
59+
firstPRMergeComment: >
60+
Congratulations on your first merged pull request in this project! :tada:
61+
62+
![Congratulations](https://raw.githubusercontent.com/plone/documentation/fda4eadee4b0b71c4bcd0da739847444f74d3fc5/.github/images/congratulations.jpg)
63+
64+
<br>Thank you for contributing, we are very proud of you! :heart:
65+
66+
# Comment to be posted to on first time issues
67+
firstIssueWelcomeComment: >
68+
Thanks for opening your first issue here!
69+
Your engagement is essential for open source projects, including Plone. :hugs:
70+
71+
<br>If you haven't done so already,
72+
read [Plone's Code of Conduct](https://plone.org/foundation/about/materials/foundation-resolutions/code-of-conduct).
73+
Also please follow the issue template, as it helps both you and other community members contribute more effectively.
74+
75+
<br>If your issue is a feature request, others may raise its prominence through
76+
[feature voting](https://github.com/plone/documentation/issues?q=is%3Aissue%20state%3Aopen%20sort%3Areactions-%2B1-desc%20).
77+
78+
<br>Welcome to the Plone community! :tada:
79+
80+
###### IssueLink Adder #################################################################################################
81+
# Insert Issue (Jira/Github etc) link in PR description based on the Issue ID in PR title.
82+
#insertIssueLinkInPrDescription:
83+
# # specify the placeholder for the issue link that should be present in the description
84+
# descriptionIssuePlaceholderRegexp: "^Issue link: (.*)$"
85+
# matchers:
86+
# # you can have several matches - for different types of issues
87+
# # only the first matching entry is replaced
88+
# jiraIssueMatch:
89+
# # specify the regexp of issue id that you can find in the title of the PR
90+
# # the match groups can be used to build the issue id (${1}, ${2}, etc.).
91+
# titleIssueIdRegexp: \[(AIRFLOW-[0-9]{4})\]
92+
# # the issue link to be added. ${1}, ${2} ... are replaced with the match groups from the
93+
# # title match (remember to use quotes)
94+
# descriptionIssueLink: "[${1}](https://issues.apache.org/jira/browse/${1}/)"
95+
# docOnlyIssueMatch:
96+
# titleIssueIdRegexp: \[(AIRFLOW-X{4})\]
97+
# descriptionIssueLink: "`Document only change, no JIRA issue`"
98+
#
99+
###### Title Validator #################################################################################################
100+
# Verifies if commit/PR titles match the regexp specified
101+
#verifyTitles:
102+
# # Regular expression that should be matched by titles of commits or PR
103+
# titleRegexp: ^\[AIRFLOW-[0-9]{4}\].*$|^\[AIRFLOW-XXXX\].*$
104+
# # If set to true, it will always check the PR title (as opposed to the individual commits).
105+
# alwaysUsePrTitle: true
106+
# # If set to true, it will only check the commit in case there is a single commit.
107+
# # In case of multiple commits it will check PR title.
108+
# # This reflects the standard behaviour of Github that for `Squash & Merge` GitHub
109+
# # uses the PR title rather than commit messages for the squashed commit ¯\_(ツ)_/¯
110+
# # For single-commit PRs it takes the squashed commit message from the commit as expected.
111+
# #
112+
# # If set to false it will check all commit messages. This is useful when you do not squash commits at merge.
113+
# validateEitherPrOrSingleCommitTitle: true
114+
# # The title the GitHub status should appear from.
115+
# statusTitle: "Title Validator"
116+
# # A custom message to be displayed when the title passes validation.
117+
# successMessage: "Validation successful!"
118+
# # A custom message to be displayed when the title fails validation.
119+
# # Allows insertion of ${type} (commit/PR), ${title} (the title validated) and ${regex} (the titleRegexp above).
120+
# failureMessage: "Wrong ${type} title: ${title}"
121+
#
122+
###### PR/Branch Up-To-Date Checker ####################################################################################
123+
## Check if the branch is up to date with master when certain files are modified
124+
#checkUpToDate:
125+
# # The default branch is "master", change the branch if you want to check against a different target branch
126+
# targetBranch: master
127+
# files:
128+
# # File paths that you want to check for
129+
# # In this example, it checks if the branch is up to date when alembic migrations are modified in the PR.
130+
# # It helps avoid multiple heads in alembic migrations in a collaborative development project.
131+
# - airflow/migrations/*
132+
# - airflow/migrations/**/*
133+
# - airflow/alembic.ini

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "github-actions" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"

.github/images/congratulations.jpg

154 KB
Loading

.github/workflows/build_deploy.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ jobs:
4343
with:
4444
node-version: ${{ env.node-version }}
4545

46-
- uses: pnpm/action-setup@v3
47-
name: Install pnpm
48-
with:
49-
version: 8
50-
run_install: false
46+
- name: Enable corepack
47+
shell: bash
48+
run: |
49+
npm i -g corepack@latest
50+
corepack enable
5151
5252
- name: Get pnpm store directory
5353
shell: bash

.gitignore

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
# Dependencies
2-
/bin
3-
/include
4-
/lib
5-
/lib64
2+
/venv
63

74
# Generated files
8-
pyvenv.cfg
95
/_build
10-
/styles/Microsoft
116
/share
7+
/styles/Microsoft
128

139
# symlinked from submodule
14-
docs/volto
15-
docs/plone.restapi
1610
docs/plone.api
11+
docs/plone.restapi
12+
docs/volto
1713

1814
# editor files
1915
.vscode

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
[submodule "submodules/plone.api"]
1010
path = submodules/plone.api
1111
url = https://github.com/plone/plone.api.git
12-
branch = master
12+
branch = main

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# .readthedocs.yaml
22
# Read the Docs configuration file
3-
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3+
# See https://docs.readthedocs.com/platform/stable/config-file/v2.html for details
44

55
# Required
66
version: 2

.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"[markdown]": {
3+
"editor.formatOnSave": false
4+
}
5+
}

Makefile

Lines changed: 32 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ SHELL = bash
55
# You can set these variables from the command line.
66
SPHINXOPTS ?=
77
PAPER ?=
8+
VALEOPTS ?=
89

910
# Internal variables.
10-
SPHINXBUILD = "$(realpath bin/sphinx-build)"
11-
SPHINXAUTOBUILD = "$(realpath bin/sphinx-autobuild)"
11+
SPHINXBUILD = "$(realpath venv/bin/sphinx-build)"
12+
SPHINXAUTOBUILD = "$(realpath venv/bin/sphinx-autobuild)"
1213
DOCS_DIR = ./docs/
1314
BUILDDIR = ../_build
1415
PAPEROPT_a4 = -D latex_paper_size=a4
@@ -29,40 +30,45 @@ clean: ## Clean docs build directory
2930
cd $(DOCS_DIR) && rm -rf $(BUILDDIR)/
3031

3132
.PHONY: distclean
32-
distclean: ## Clean docs build directory and Python virtual environment
33-
cd $(DOCS_DIR) && rm -rf $(BUILDDIR)/
34-
rm -rf ./bin/ ./lib/ ./lib64 ./include ./pyvenv.cfg
35-
33+
distclean: clean ## Clean docs build directory, Python virtual environment, and symlinks
34+
rm -rf venv
35+
rm docs/plone.api
36+
rm docs/plone.restapi
37+
rm docs/volto
38+
@echo
39+
@echo "Cleaned docs build directory, Python virtual environment, and symlinks."
3640

37-
bin/python:
38-
python3 -m venv .
39-
bin/pip install -r requirements-initial.txt
40-
bin/pip install -r requirements.txt
41+
venv/bin/python: ## Setup up Python virtual environment and install requirements
42+
python3 -m venv venv
43+
venv/bin/pip install -r requirements-initial.txt
44+
venv/bin/pip install -r requirements.txt
45+
@echo
46+
@echo "Installation of requirements completed."
4147

42-
docs/plone.api:
43-
git submodule init; \
44-
git submodule update; \
45-
bin/pip install -e submodules/plone.api/"[test]"; \
48+
docs/plone.api: ## Setup plone.api docs
49+
git submodule init
50+
git submodule update
51+
venv/bin/pip install -e submodules/plone.api/"[test]"
4652
ln -s ../submodules/plone.api/docs ./docs/plone.api
4753
@echo
4854
@echo "Documentation of plone.api initialized."
4955

50-
docs/plone.restapi:
51-
git submodule init; \
52-
git submodule update; \
56+
docs/plone.restapi: ## Setup plone.restapi docs
57+
git submodule init
58+
git submodule update
5359
ln -s ../submodules/plone.restapi ./docs/plone.restapi
5460
@echo
5561
@echo "Documentation of plone.restapi initialized."
5662

57-
docs/volto:
58-
git submodule init; \
59-
git submodule update; \
63+
docs/volto: ## Setup Volto docs
64+
git submodule init
65+
git submodule update
6066
ln -s ../submodules/volto/docs/source ./docs/volto
6167
@echo
6268
@echo "Documentation of volto initialized."
6369

6470
.PHONY: deps
65-
deps: bin/python docs/volto docs/plone.restapi docs/plone.api ## Create Python virtual environment, install requirements, initialize or update the volto, plone.restapi, and plone.api submodules, and finally create symlinks to the source files.
71+
deps: venv/bin/python docs/volto docs/plone.restapi docs/plone.api ## Create Python virtual environment, install requirements, initialize or update the volto, plone.restapi, and plone.api submodules, and finally create symlinks to the source files.
6672

6773

6874
.PHONY: html
@@ -106,26 +112,6 @@ htmlhelp: deps
106112
@echo "Build finished; now you can run HTML Help Workshop with the" \
107113
".hhp project file in $(BUILDDIR)/htmlhelp."
108114

109-
.PHONY: qthelp
110-
qthelp: deps
111-
cd $(DOCS_DIR) && $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
112-
@echo
113-
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
114-
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
115-
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/MasteringPlone.qhcp"
116-
@echo "To view the help file:"
117-
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/MasteringPlone.qhc"
118-
119-
.PHONY: devhelp
120-
devhelp: deps
121-
cd $(DOCS_DIR) && $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
122-
@echo
123-
@echo "Build finished."
124-
@echo "To view the help file:"
125-
@echo "# mkdir -p $$HOME/.local/share/devhelp/MasteringPlone"
126-
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/MasteringPlone"
127-
@echo "# devhelp"
128-
129115
.PHONY: epub
130116
epub: deps
131117
cd $(DOCS_DIR) && $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@@ -196,8 +182,8 @@ linkcheckbroken: deps ## Run linkcheck and show only broken links
196182

197183
.PHONY: vale
198184
vale: deps ## Run Vale style, grammar, and spell checks
199-
bin/vale sync
200-
bin/vale --no-wrap $(VALEFILES)
185+
venv/bin/vale sync
186+
venv/bin/vale --no-wrap $(VALEOPTS) $(VALEFILES)
201187
@echo
202188
@echo "Vale is finished; look for any errors in the above output."
203189

@@ -222,6 +208,9 @@ livehtml: deps ## Rebuild Sphinx documentation on changes, with live-reload in
222208
cd "$(DOCS_DIR)" && ${SPHINXAUTOBUILD} \
223209
--ignore "*.swp" \
224210
--port 8050 \
211+
--watch volto \
212+
--watch plone.api \
213+
--watch plone.restapi \
225214
-b html . "$(BUILDDIR)/html" $(SPHINXOPTS) $(O)
226215

227216
.PHONY: rtd-pr-preview
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
Your instance starts in foreground mode.
3+
This should be used only for troubleshooting or local demonstration purposes.
4+
5+
Now you can visit `http://localhost:8080` in your browser.
6+
Click the button {guilabel}`Create Classic UI Plone site`.
7+
8+
Enter {guilabel}`username` of `admin`, and {guilabel}`password` of `admin`.
9+
10+
Enter values in the form, and click the button {guilabel}`Create Plone Site`.
11+
12+
You will be redirected to your new Classic UI Plone site.
13+
14+
To stop the Plone instance in foreground mode, type {kbd}`ctrl-c`.
15+

0 commit comments

Comments
 (0)