diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml
deleted file mode 100644
index 5d65e4d..0000000
--- a/.github/workflows/backend.yml
+++ /dev/null
@@ -1,146 +0,0 @@
-name: Backend CI
-
-on:
- push:
- paths:
- - "backend/**"
-
-
-jobs:
-
- black:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout codebase
- uses: actions/checkout@v2
-
- - name: Run check
- uses: plone/code-analysis-action@v1
- with:
- base_dir: 'backend'
- check: 'black'
- path: |
- src/ploneconf.core/src
- src/ploneconf.core/setup.py
- scripts
-
- flake8:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout codebase
- uses: actions/checkout@v2
-
- - name: Run check
- uses: plone/code-analysis-action@v1
- with:
- base_dir: 'backend'
- check: 'flake8'
- path: |
- src/ploneconf.core/src
- src/ploneconf.core/setup.py
- scripts
-
- isort:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout codebase
- uses: actions/checkout@v2
-
- - name: Run check
- uses: plone/code-analysis-action@v1
- with:
- base_dir: 'backend'
- check: 'isort'
- path: |
- src/ploneconf.core/src
- src/ploneconf.core/setup.py
- scripts
-
- zpretty:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout codebase
- uses: actions/checkout@v2
-
- - name: Run check
- uses: plone/code-analysis-action@v1
- with:
- base_dir: 'backend'
- check: 'zpretty'
- path: src/ploneconf.core/src
-
- tests:
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- python:
- - 3.9
- plone:
- - "6.0.0b1"
-
- defaults:
- run:
- working-directory: ./backend
-
- steps:
- - uses: actions/checkout@v2
-
- - name: Setup Plone ${{ matrix.plone }} with Python ${{ matrix.python }}
- uses: plone/setup-plone@v1.0.0
- with:
- python-version: ${{ matrix.python }}
- plone-version: ${{ matrix.plone }}
-
- - name: Install package
- run: |
- pip install "plone.app.testing" -c https://dist.plone.org/release/${{ matrix.plone }}/constraints.txt
- pip install -e "src/ploneconf.core[test]"
-
- - name: Run tests
- run: |
- PYTHONWARNINGS=ignore zope-testrunner --auto-color --auto-progress --test-path src/ploneconf.core/src/
-
- release:
- runs-on: ubuntu-latest
- needs: [black, flake8, isort, zpretty, tests]
-
- steps:
-
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Docker meta
- id: meta
- uses: docker/metadata-action@v3
- with:
- images: |
- plone/ploneconf-backend
- labels: |
- org.label-schema.docker.cmd=docker run -d -p 8080:8080 plone/ploneconf-backend:latest
- tags: |
- type=ref,event=branch
- type=sha
- type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }}
-
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v1
-
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- platforms: linux/amd64
- context: backend
- file: backend/Dockerfile
- push: ${{ github.event_name != 'pull_request' }}
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
diff --git a/.github/workflows/backend_testing.yml b/.github/workflows/backend_testing.yml
new file mode 100644
index 0000000..f616385
--- /dev/null
+++ b/.github/workflows/backend_testing.yml
@@ -0,0 +1,157 @@
+name: Deploy backend testing
+run-name: Deploy to backend testing by @${{ github.actor }}
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - testing-deploy
+
+# push:
+# paths:
+# - "backend/**"
+# - ".github/workflows/backend_testing.yml"
+
+jobs:
+
+ black:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout codebase
+ uses: actions/checkout@v3
+
+ - name: Run check
+ uses: plone/code-analysis-action@v2
+ with:
+ base_dir: 'backend'
+ check: 'black'
+
+ flake8:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout codebase
+ uses: actions/checkout@v3
+
+ - name: Run check
+ uses: plone/code-analysis-action@v2
+ with:
+ base_dir: 'backend'
+ check: 'flake8'
+
+ isort:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout codebase
+ uses: actions/checkout@v3
+
+ - name: Run check
+ uses: plone/code-analysis-action@v2
+ with:
+ base_dir: 'backend'
+ check: 'isort'
+
+ zpretty:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout codebase
+ uses: actions/checkout@v3
+
+ - name: Run check
+ uses: plone/code-analysis-action@v2
+ with:
+ base_dir: 'backend'
+ check: 'zpretty'
+
+ tests:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ python:
+ - 3.11
+ plone:
+ - "6.0.1"
+
+ defaults:
+ run:
+ working-directory: ./backend
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup Plone ${{ matrix.plone }} with Python ${{ matrix.python }}
+ uses: plone/setup-plone@v2.0.0
+ with:
+ python-version: ${{ matrix.python }}
+ plone-version: ${{ matrix.plone }}
+
+ - name: Install package
+ run: |
+ pip install mxdev
+ mxdev -c mx.ini
+ pip install -r requirements-mxdev.txt
+
+ - name: Run tests
+ run: |
+ pytest
+
+ release:
+ runs-on: ubuntu-latest
+ needs: [black, flake8, isort, zpretty, tests]
+
+ steps:
+
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v4
+ with:
+ images: |
+ ghcr.io/plone/ploneconf-backend-2023
+ tags: |
+ type=sha
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+
+ - name: Login to GHCR
+ uses: docker/login-action@v2.1.0
+ with:
+ registry: ghcr.io
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Build and push
+ uses: docker/build-push-action@v3
+ with:
+ platforms: linux/amd64
+ context: backend
+ file: backend/Dockerfile
+ push: ${{ github.event_name != 'pull_request' }}
+ tags: ${{ steps.meta.outputs.tags }}
+
+ deploy:
+ if: ${{ github.ref == 'refs/heads/main' }}
+ needs:
+ - release
+ runs-on: ubuntu-latest
+ environment: ploneconf2023testing
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Deploy to plone.org
+ uses: kitconcept/docker-stack-deploy@v2.0.0
+ with:
+ registry: "ghcr.io"
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ remote_host: ${{ secrets.DEPLOY_HOST }}
+ remote_port: ${{ secrets.DEPLOY_PORT }}
+ remote_user: ${{ secrets.DEPLOY_USER }}
+ remote_private_key: ${{ secrets.DEPLOY_SSH }}
+ stack_file: "devops/stacks/testing.ploneconf.org.yml"
+ stack_name: "ploneconftesting"
+ env_file: ${{ secrets.ENV_FILE }}
+ deploy_timeout: 480
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
deleted file mode 100644
index 9f75912..0000000
--- a/.github/workflows/deploy.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-name: Deploy 2022.ploneconf.org
-
-on:
- workflow_run:
- workflows: [Acceptance Tests]
- types:
- - completed
- branches:
- - "2022"
-
-jobs:
-
- deploy:
- if: ${{ github.event.workflow_run.conclusion == 'success' }}
- runs-on: ubuntu-latest
- environment: ploneconf.org
- steps:
-
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Deploy to 2022.ploneconf.org
- uses: kitconcept/docker-stack-deploy@v1.0.0
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- remote_host: ${{ secrets.DEPLOY_HOST }}
- remote_port: ${{ secrets.DEPLOY_PORT }}
- remote_user: ${{ secrets.DEPLOY_USER }}
- remote_private_key: ${{ secrets.DEPLOY_SSH }}
- stack_file: "devops/stacks/2022.ploneconf.org.yml"
- stack_name: "plone"
- deploy_timeout: 480
-
- report-skipped:
- if: ${{ github.event.workflow_run.conclusion != 'success' }}
- runs-on: ubuntu-latest
- steps:
- - name: Report the reason for skipping a deploy
- run: echo "$GITHUB_CONTEXT"
diff --git a/.github/workflows/frontend-testing.yml b/.github/workflows/frontend-testing.yml
new file mode 100644
index 0000000..baf17b0
--- /dev/null
+++ b/.github/workflows/frontend-testing.yml
@@ -0,0 +1,167 @@
+name: Deploy frontend testing
+run-name: Deploy to frontend testing by @${{ github.actor }}
+
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - testing-deploy
+# push:
+# paths:
+# - "frontend/**"
+# - ".github/workflows/frontend_testing.yml"
+
+
+env:
+ node-version: 16.x
+
+jobs:
+
+ eslint:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ working-directory: ./frontend
+ steps:
+ - name: Checkout codebase
+ uses: actions/checkout@v3
+
+ - name: Use Node.js ${{ env.node-version }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.node-version }}
+ cache: 'yarn'
+ cache-dependency-path: 'frontend/yarn.lock'
+
+ - name: Install packages
+ run: make install
+
+ - name: Lint
+ run: yarn run lint:ci
+
+ prettier:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ working-directory: ./frontend
+ steps:
+ - name: Checkout codebase
+ uses: actions/checkout@v3
+
+ - name: Run Prettier
+ run: npx prettier@2.0.5 --single-quote --check 'src/**/*.{js,jsx,ts,tsx,css,scss}' --config=package.json
+
+ i18n:
+ name: i18n sync
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ working-directory: frontend
+
+ steps:
+ - name: Checkout codebase
+ uses: actions/checkout@v3
+
+ - name: Use Node.js ${{ env.node-version }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.node-version }}
+ cache: 'yarn'
+ cache-dependency-path: 'frontend/yarn.lock'
+
+ - name: Install packages
+ run: make install
+
+ - name: Test i18n sync
+ run: make i18n-ci
+
+ unit:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ working-directory: ./frontend
+ steps:
+ - name: Checkout codebase
+ uses: actions/checkout@v3
+
+ - name: Use Node.js ${{ env.node-version }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.node-version }}
+ cache: 'yarn'
+ cache-dependency-path: 'frontend/yarn.lock'
+
+ - name: Install packages
+ run: make install
+
+ - name: Test
+ run: make test
+
+ release:
+ runs-on: ubuntu-latest
+ needs: [eslint, prettier, i18n, unit]
+
+ steps:
+
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v4
+ with:
+ images: |
+ ghcr.io/plone/ploneconf-frontend-2023
+ tags: |
+ type=ref,event=branch
+ type=sha
+ type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }}
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ with:
+ registry: ghcr.io
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Build and push
+ uses: docker/build-push-action@v3
+ with:
+ platforms: linux/amd64
+ context: frontend/
+ file: frontend/Dockerfile
+ push: ${{ github.event_name != 'pull_request' }}
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: $${{ steps.meta.outputs.labels }}
+
+
+ deploy:
+ if: ${{ github.ref == 'refs/heads/main' }}
+ needs:
+ - release
+ runs-on: ubuntu-latest
+ environment: staging
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Deploy to testing.ploneconf.org
+ uses: kitconcept/docker-stack-deploy@v1.2.0
+ with:
+ registry: "ghcr.io"
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ remote_host: ${{ secrets.DEPLOY_HOST }}
+ remote_port: ${{ secrets.DEPLOY_PORT }}
+ remote_user: ${{ secrets.DEPLOY_USER }}
+ remote_private_key: ${{ secrets.DEPLOY_SSH }}
+ stack_file: "devops/stacks/plone.org.yml"
+ stack_name: "ploneorg"
+ env_file: ${{ secrets.ENV_FILE }}
+ deploy_timeout: 480
diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
deleted file mode 100644
index 712d2ed..0000000
--- a/.github/workflows/frontend.yml
+++ /dev/null
@@ -1,134 +0,0 @@
-name: Frontend CI
-
-on:
- push:
- paths:
- - "frontend/**"
-
-env:
- node-version: 16.x
-
-jobs:
-
- eslint:
- runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: ./frontend
- steps:
- - name: Checkout codebase
- uses: actions/checkout@v2
-
- - name: Use Node.js ${{ env.node-version }}
- uses: actions/setup-node@v1
- with:
- node-version: ${{ env.node-version }}
-
- - name: Get yarn cache directory path
- id: yarn-cache-dir-path
- run: echo "::set-output name=dir::$(yarn cache dir)"
-
- - uses: actions/cache@v1
- id: yarn-cache
- with:
- path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
-
- - name: Install packages
- run: yarn install --frozen-lockfile
-
- - name: Lint
- run: yarn run lint:ci
-
- - name: i18n
- run: yarn run i18n:ci
-
- prettier:
- runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: ./frontend
- steps:
- - name: Checkout codebase
- uses: actions/checkout@v2
-
- - name: Run Prettier
- run: npx prettier@2.0.5 --single-quote --check 'src/**/*.{js,jsx,ts,tsx,css,scss}' --config=package.json
-
- tests:
- runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: ./frontend
- steps:
- - name: Checkout codebase
- uses: actions/checkout@v2
-
- - name: Use Node.js ${{ env.node-version }}
- uses: actions/setup-node@v1
- with:
- node-version: ${{ env.node-version }}
-
- - name: Get yarn cache directory path
- id: yarn-cache-dir-path
- run: echo "::set-output name=dir::$(yarn cache dir)"
-
- - uses: actions/cache@v1
- id: yarn-cache
- with:
- path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
- key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-yarn-
-
- - name: Install packages
- run: yarn install --frozen-lockfile
-
- - name: Test
- run: yarn run test:ci
-
- release:
- runs-on: ubuntu-latest
- needs: [eslint, prettier, tests]
-
- steps:
-
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Docker meta
- id: meta
- uses: docker/metadata-action@v3
- with:
- images: |
- plone/ploneconf-frontend
- labels: |
- org.label-schema.docker.cmd=docker run -d -p 3000:3000 plone/ploneconf-frontend:latest
- tags: |
- type=ref,event=branch
- type=sha
- type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }}
-
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v1
-
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- platforms: linux/amd64
- context: frontend/
- file: frontend/Dockerfile
- push: ${{ github.event_name != 'pull_request' }}
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
diff --git a/backend/.gitignore b/backend/.gitignore
index 60f7252..a40baea 100644
--- a/backend/.gitignore
+++ b/backend/.gitignore
@@ -35,8 +35,10 @@ report.html
.tox/
reports/
venv/
+*-mxdev.txt
# excludes
live.cfg
inituser
pip-wheel-metadata
pyvenv.cfg
+.python-version
\ No newline at end of file
diff --git a/backend/Makefile b/backend/Makefile
index fc38b31..f439c9e 100644
--- a/backend/Makefile
+++ b/backend/Makefile
@@ -15,18 +15,37 @@ GREEN=`tput setaf 2`
RESET=`tput sgr0`
YELLOW=`tput setaf 3`
-PLONE_VERSION=6.0.1
+PLONE_VERSION=6.0.0
BACKEND_FOLDER=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
-CODE_QUALITY_VERSION=1.0.1
-LINT=docker run --rm -v "${BACKEND_FOLDER}":/github/workspace plone/code-quality:${CODE_QUALITY_VERSION} check
+CODE_QUALITY_VERSION=2.0.2
+ifndef LOG_LEVEL
+ LOG_LEVEL=INFO
+endif
+CURRENT_USER=$$(whoami)
+USER_INFO=$$(id -u ${CURRENT_USER}):$$(getent group ${CURRENT_USER}|cut -d: -f3)
+LINT=docker run --rm -e LOG_LEVEL="${LOG_LEVEL}" -v "${BACKEND_FOLDER}":/github/workspace plone/code-quality:${CODE_QUALITY_VERSION} check
+FORMAT=docker run --rm --user="${USER_INFO}" -e LOG_LEVEL="${LOG_LEVEL}" -v "${BACKEND_FOLDER}":/github/workspace plone/code-quality:${CODE_QUALITY_VERSION} format
-PACKAGE_NAME=ploneconf.core
-PACKAGE_PATH=src/ploneconf.core/src/
-IMAGE_NAME=plone/ploneconf-backend
+IMAGE_NAME=ghcr.io/plone/ploneorg-backend
IMAGE_TAG=latest
-CHECK_PATH=src/ploneconf.core/setup.py scripts/ $(PACKAGE_PATH)
+
+# Python checks
+PYTHON?=python3
+
+# installed?
+ifeq (, $(shell which $(PYTHON) ))
+ $(error "PYTHON=$(PYTHON) not found in $(PATH)")
+endif
+
+# version ok?
+PYTHON_VERSION_MIN=3.11
+PYTHON_VERSION_OK=$(shell $(PYTHON) -c 'import sys; print((int(sys.version_info[0]), int(sys.version_info[1])) > tuple(map(int, "$(PYTHON_VERSION_MIN)".split("."))))')
+ifeq ($(PYTHON_VERSION_OK),0)
+ $(error "Need python $(PYTHON_VERSION) >= $(PYTHON_VERSION_MIN)")
+endif
+
# Add the following 'help' target to your Makefile
# And add help text after each target name starting with '\#\#'
@@ -67,21 +86,16 @@ clean-test: ## remove test and coverage artifacts
bin/pip:
@echo "$(GREEN)==> Setup Virtual Env$(RESET)"
- python3 -m venv .
- bin/pip install -U "pip" "wheel" "git+https://github.com/cookiecutter/cookiecutter.git#egg=cookiecutter"
+ $(PYTHON) -m venv .
+ bin/pip install -U "pip" "wheel" "cookiecutter" "mxdev"
-instance/etc/zope.ini: bin/pip
- @echo "$(GREEN)==> Install Plone and create instance$(RESET)"
- bin/pip install Plone -c https://dist.plone.org/release/$(PLONE_VERSION)/constraints.txt
- bin/cookiecutter -f --no-input --config-file instance.yaml https://github.com/plone/cookiecutter-zope-instance
- mkdir -p var/{filestorage,blobstorage,cache,log}
-
-bin/black: bin/pip
- @echo "$(GREEN)==> Install Code Quality tools$(RESET)"
- bin/pip install -r https://raw.githubusercontent.com/plone/code-quality/v$(CODE_QUALITY_VERSION)/requirements.txt
+.PHONY: config
+config: bin/pip ## Create instance configuration
+ @echo "$(GREEN)==> Create instance configuration$(RESET)"
+ bin/cookiecutter -f --no-input --config-file instance.yaml gh:plone/cookiecutter-zope-instance
# i18n
-bin/i18ndude: bin/pip
+bin/i18ndude: bin/pip
@echo "$(GREEN)==> Install translation tools$(RESET)"
bin/pip install i18ndude
@@ -90,54 +104,50 @@ i18n: bin/i18ndude ## Update locales
@echo "$(GREEN)==> Updating locales$(RESET)"
bin/update_locale
-.PHONY: build
-build: instance/etc/zope.ini ## Create virtualenv and run buildout
- @echo "$(GREEN)==> Setup Build$(RESET)"
- bin/pip install -r requirements.txt
+# TODO `make build`
+# build:
-.PHONY: build
-build-dev: instance/etc/zope.ini ## Create virtualenv and run buildout
+.PHONY: build-dev
+build-dev: config ## pip install Plone packages
@echo "$(GREEN)==> Setup Build$(RESET)"
- bin/pip install -r requirements/dev.txt
+ bin/mxdev -c mx.ini
+ bin/pip install -r requirements-mxdev.txt
.PHONY: format
-format: bin/black ## Format the codebase according to our standards
+format: ## Format the codebase according to our standards
@echo "$(GREEN)==> Format codebase$(RESET)"
- bin/isort ${CHECK_PATH}
- bin/black ${CHECK_PATH}
- find "${PACKAGE_PATH}" -name '*.xml' |xargs bin/zpretty -x -i
- find "${PACKAGE_PATH}" -name '*.zcml' |xargs bin/zpretty -z -i
+ $(FORMAT)
.PHONY: lint
lint: lint-isort lint-black lint-flake8 lint-zpretty ## check code style
.PHONY: lint-black
lint-black: ## validate black formating
- $(LINT) black "$(CHECK_PATH)"
+ $(LINT) black
.PHONY: lint-flake8
lint-flake8: ## validate black formating
- $(LINT) flake8 "$(CHECK_PATH)"
+ $(LINT) flake8
.PHONY: lint-isort
lint-isort: ## validate using isort
- $(LINT) isort "$(CHECK_PATH)"
+ $(LINT) isort
.PHONY: lint-pyroma
lint-pyroma: ## validate using pyroma
- $(LINT) pyroma src/ploneconf.core/
+ $(LINT) pyroma
.PHONY: lint-zpretty
lint-zpretty: ## validate ZCML/XML using zpretty
- $(LINT) zpretty "$(PACKAGE_PATH)"
+ $(LINT) zpretty
.PHONY: test
test: ## run tests
- ./bin/zope-testrunner --auto-color --auto-progress --test-path src/ploneconf.core/src/
+ bin/pytest
.PHONY: test_quiet
test_quiet: ## run tests removing deprecation warnings
- PYTHONWARNINGS=ignore ./bin/zope-testrunner --auto-color --auto-progress --test-path src/ploneconf.core/src/
+ bin/pytest --disable-warnings
.PHONY: create-site
create-site: instance/etc/zope.ini ## Create a new site from scratch
@@ -147,6 +157,10 @@ create-site: instance/etc/zope.ini ## Create a new site from scratch
start: ## Start a Plone instance on localhost:8080
PYTHONWARNINGS=ignore ./bin/runwsgi instance/etc/zope.ini
+.PHONY: debug
+debug: instance/etc/zope.ini ## Run debug console
+ PYTHONWARNINGS=ignore ./bin/zconsole debug instance/etc/zope.conf
+
.PHONY: build-image
build-image: ## Build Docker Image
@docker build . -t $(IMAGE_NAME):$(IMAGE_TAG) -f Dockerfile --build-arg PLONE_VERSION=$(PLONE_VERSION)
diff --git a/backend/mx.ini b/backend/mx.ini
new file mode 100644
index 0000000..dbe75b5
--- /dev/null
+++ b/backend/mx.ini
@@ -0,0 +1,9 @@
+; This is a mxdev configuration file
+; it can be used to override versions of packages already defined in the
+; constraints files and to add new packages from VCS like git.
+; to learn more about mxdev visit https://pypi.org/project/mxdev/
+
+[settings]
+; example how to override a package version
+; version-overrides =
+; example.package==2.1.0a2
\ No newline at end of file
diff --git a/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/keynote.xml b/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/keynote.xml
index a1660c9..40b872e 100644
--- a/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/keynote.xml
+++ b/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/keynote.xml
@@ -1,7 +1,8 @@
+
-
+
diff --git a/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/person.xml b/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/person.xml
index cd233d8..e332745 100644
--- a/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/person.xml
+++ b/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/person.xml
@@ -1,3 +1,4 @@
+
-
+
diff --git a/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/sponsor.xml b/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/sponsor.xml
index 243be64..8cc7d6f 100644
--- a/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/sponsor.xml
+++ b/backend/src/ploneconf.core/src/ploneconf/core/content/schemas/sponsor.xml
@@ -1,3 +1,4 @@
+
+