Skip to content

Commit

Permalink
Merge pull request #19 from eea/develop
Browse files Browse the repository at this point in the history
Release
  • Loading branch information
avoinea authored Aug 15, 2023
2 parents 3635439 + 5c2a456 commit b6b90c3
Show file tree
Hide file tree
Showing 18 changed files with 308 additions and 95 deletions.
1 change: 0 additions & 1 deletion .i18n.babel.config.js

This file was deleted.

29 changes: 11 additions & 18 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file. Dates are d

Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

### [0.4.0](https://github.com/eea/volto-widget-dataprovenance/compare/0.3.3...0.4.0) - 15 August 2023

#### :nail_care: Enhancements

- refactor: Display List as ul, li; Register data_provenance widget by id - refs #256379 [Alin Voinea - [`dc69108`](https://github.com/eea/volto-widget-dataprovenance/commit/dc691081d050a18eee8984096b2e0e7f9f80125d)]

#### :house: Documentation changes

- docs: add demo gif - refs #253277 [ana-oprea - [`62ce749`](https://github.com/eea/volto-widget-dataprovenance/commit/62ce749bd50f06696cad1b069f0b3d44b7c9d094)]
- docs: Cleanup Makefile, update DEVELOP documentation, i18n - refs #254894 [valentinab25 - [`d60b736`](https://github.com/eea/volto-widget-dataprovenance/commit/d60b7360fd95788be6b122473d1a93ff9047b6d2)]

### [0.3.3](https://github.com/eea/volto-widget-dataprovenance/compare/0.3.2...0.3.3) - 13 June 2023

#### :hammer_and_wrench: Others
Expand All @@ -23,20 +34,11 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
#### :hammer_and_wrench: Others

- test: Fix test config, coverage Refs #253277 [valentinab25 - [`6ec3f22`](https://github.com/eea/volto-widget-dataprovenance/commit/6ec3f222da9112c3a721d8a39ec5926400a06863)]
- Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`eed0083`](https://github.com/eea/volto-widget-dataprovenance/commit/eed0083cc0dd618028334874fbe00fcdef277b8f)]
- Add Sonarqube tag using industry-frontend addons list [EEA Jenkins - [`7e058d0`](https://github.com/eea/volto-widget-dataprovenance/commit/7e058d06b1daaa142ecb82ffbc5c2969266e455e)]
### [0.3.0](https://github.com/eea/volto-widget-dataprovenance/compare/0.2.1...0.3.0) - 27 March 2023

#### :hammer_and_wrench: Others

- Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`01854fa`](https://github.com/eea/volto-widget-dataprovenance/commit/01854fa55af7377ff97b8112f7c5688a70c92907)]
- Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`5c9e9cd`](https://github.com/eea/volto-widget-dataprovenance/commit/5c9e9cd9707b1c952bdf23dc16fae155241de2c1)]
- Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`c63f1bf`](https://github.com/eea/volto-widget-dataprovenance/commit/c63f1bf239245e6808ad30013569f4560b084608)]
- Add Sonarqube tag using climate-energy-frontend addons list [EEA Jenkins - [`6a23e8b`](https://github.com/eea/volto-widget-dataprovenance/commit/6a23e8bf3906c56b1cac91108c6288f6cbbc5583)]
- test(Jenkins): Run tests and cypress with latest canary @plone/volto [Alin Voinea - [`1ea5d6e`](https://github.com/eea/volto-widget-dataprovenance/commit/1ea5d6e33d8e541cfd26de0c91f186221bb15496)]
- Add Sonarqube tag using cca-frontend addons list [EEA Jenkins - [`263717f`](https://github.com/eea/volto-widget-dataprovenance/commit/263717fd40985ec0ee74fa29ef0f1748435c2024)]
- yarn 3 [Alin Voinea - [`9123df9`](https://github.com/eea/volto-widget-dataprovenance/commit/9123df9c7eb69d595e9786c456c01cd492983621)]
- Add Sonarqube tag using demo-kitkat-frontend addons list [EEA Jenkins - [`78e2ba7`](https://github.com/eea/volto-widget-dataprovenance/commit/78e2ba79207d6705231c1c638ccbf81062ff8b92)]
### [0.2.1](https://github.com/eea/volto-widget-dataprovenance/compare/0.2.0...0.2.1) - 16 November 2022

#### :house: Internal changes
Expand All @@ -53,8 +55,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

- Prepare 0.2.0 release [Miu Razvan - [`38018d6`](https://github.com/eea/volto-widget-dataprovenance/commit/38018d6d9b9acd660a35706f22eb5be3ae53a16e)]
- Update dependencies [Alin Voinea - [`683786f`](https://github.com/eea/volto-widget-dataprovenance/commit/683786f502d19ba83f62cf10c800f61b5fdaed3e)]
- Add Sonarqube tag using marine-frontend addons list [EEA Jenkins - [`86ae1f1`](https://github.com/eea/volto-widget-dataprovenance/commit/86ae1f1ebe080dc851af85e4de1f33c51c3b643b)]
- Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`7b38f5f`](https://github.com/eea/volto-widget-dataprovenance/commit/7b38f5fa80a095b5c9529fd63a8cc09cbbf9067c)]
### [0.1.7](https://github.com/eea/volto-widget-dataprovenance/compare/0.1.6...0.1.7) - 15 September 2022

#### :hammer_and_wrench: Others
Expand All @@ -70,13 +70,10 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
- FIX CYPRESS [Dobricean Ioan Dorian - [`61002d4`](https://github.com/eea/volto-widget-dataprovenance/commit/61002d46536297cde9d3d19c1937e4a4e05209a2)]
- FIX CYPRESS [Dobricean Ioan Dorian - [`bba26d8`](https://github.com/eea/volto-widget-dataprovenance/commit/bba26d88ea38288fd8d45431a2af56feef6cb718)]
- FIX Jenkins test [Dobricean Ioan Dorian - [`2f94bdc`](https://github.com/eea/volto-widget-dataprovenance/commit/2f94bdcc5eeee4306e592e95d5869992e234d17e)]
- Add Sonarqube tag using bise-frontend addons list [EEA Jenkins - [`e3cafb5`](https://github.com/eea/volto-widget-dataprovenance/commit/e3cafb546cd846364cdb9e65f60aa07ec03217a4)]
- Add Sonarqube tag using ims-frontend addons list [EEA Jenkins - [`dcc61bb`](https://github.com/eea/volto-widget-dataprovenance/commit/dcc61bb61060a9d5227df46d21dfb591ad1a14cd)]
### [0.1.4](https://github.com/eea/volto-widget-dataprovenance/compare/0.1.3...0.1.4) - 30 June 2022

#### :hammer_and_wrench: Others

- Add Sonarqube tag using circularity-frontend addons list [EEA Jenkins - [`c2e6cc8`](https://github.com/eea/volto-widget-dataprovenance/commit/c2e6cc8e1b1d33c59b57516e213d6d2c0bdcb794)]
### [0.1.3](https://github.com/eea/volto-widget-dataprovenance/compare/0.1.2...0.1.3) - 21 June 2022

#### :hammer_and_wrench: Others
Expand All @@ -88,9 +85,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
#### :hammer_and_wrench: Others

- fix organisations widget and title [nileshgulia1 - [`1921866`](https://github.com/eea/volto-widget-dataprovenance/commit/1921866f01a0c2543bb9cd34d42d7aa93c9675f4)]
- Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`0be7871`](https://github.com/eea/volto-widget-dataprovenance/commit/0be7871ec0b8dc8dbb328604aa0c59e92c116951)]
- Add Sonarqube tag using forests-frontend addons list [EEA Jenkins - [`75a4bac`](https://github.com/eea/volto-widget-dataprovenance/commit/75a4baca82c4be52df0dfd8927a26ff2fcd868e2)]
- Add Sonarqube tag using clms-frontend addons list [EEA Jenkins - [`ead018f`](https://github.com/eea/volto-widget-dataprovenance/commit/ead018fbae9cc80468e489199b8df1573b343394)]
### [0.1.1](https://github.com/eea/volto-widget-dataprovenance/compare/0.1.0...0.1.1) - 9 June 2022

#### :bug: Bug Fixes
Expand All @@ -107,5 +101,4 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

#### :hammer_and_wrench: Others

- yarn bootstrap [nileshgulia1 - [`93352f9`](https://github.com/eea/volto-widget-dataprovenance/commit/93352f99891aaef0da8b16c32328f0914c3f2e91)]
- Initial commit [Nilesh - [`bdfc4d5`](https://github.com/eea/volto-widget-dataprovenance/commit/bdfc4d54dcd8673838e81c362e8872d4b7530643)]
56 changes: 56 additions & 0 deletions DEVELOP.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,28 @@

## Develop

1. Make sure you have `docker` and `docker compose` installed and running on your machine:

```Bash
git clone https://github.com/eea/volto-widget-dataprovenance.git
cd volto-widget-dataprovenance
git checkout -b bugfix-123456 develop
make
make start
```

1. Wait for `Volto started at 0.0.0.0:3000` meesage

1. Go to http://localhost:3000

1. Happy hacking!

```Bash
cd src/addons/volto-widget-dataprovenance/
```

### Or add @eeacms/volto-widget-dataprovenance to your Volto project

Before starting make sure your development environment is properly set. See [Volto Developer Documentation](https://docs.voltocms.com/getting-started/install/)

1. Make sure you have installed `yo`, `@plone/generator-volto` and `mrs-developer`
Expand Down Expand Up @@ -49,3 +71,37 @@ Before starting make sure your development environment is properly set. See [Vol
1. Happy hacking!

cd src/addons/volto-widget-dataprovenance/

## Cypress

To run cypress locally, first make sure you don't have any Volto/Plone running on ports `8080` and `3000`.
You don't have to be in a `clean-volto-project`, you can be in any Volto Frontend
project where you added `volto-widget-dataprovenance` to `mrs.developer.json`

Go to:

```BASH
cd src/addons/volto-widget-dataprovenance/
```

Start:

```Bash
make
make start
```

This will build and start with Docker a clean `Plone backend` and `Volto Frontend` with `volto-widget-dataprovenance` block installed.

Open Cypress Interface:

```Bash
make cypress-open
```

Or run it:

```Bash
make cypress-run
```
14 changes: 14 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# syntax=docker/dockerfile:1
ARG VOLTO_VERSION
FROM plone/frontend-builder:${VOLTO_VERSION}

ARG ADDON_NAME
ARG ADDON_PATH

COPY --chown=node:node ./ /app/src/addons/${ADDON_PATH}/

RUN /setupAddon
RUN yarn install

ENTRYPOINT ["yarn"]
CMD ["start"]
25 changes: 25 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,31 @@ pipeline {
}
}

stage('SonarQube compare to master') {
when {
allOf {
environment name: 'CHANGE_ID', value: ''
branch 'develop'
not { changelog '.*^Automated release [0-9\\.]+$' }
}
}
steps {
node(label: 'docker') {
script {
sh '''docker pull eeacms/gitflow'''
sh '''echo "Error" > checkresult.txt'''
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
sh '''set -o pipefail; docker run -i --rm --name="$BUILD_TAG-gitflow-sn" -e GIT_BRANCH="$BRANCH_NAME" -e GIT_NAME="$GIT_NAME" eeacms/gitflow /checkSonarqubemaster.sh | grep -v "Found script" | tee checkresult.txt'''
}

publishChecks name: 'SonarQube', title: 'Sonarqube Code Quality Check', summary: "Quality check on the SonarQube metrics from branch develop, comparing it with the ones from master branch. No bugs are allowed",
text: readFile(file: 'checkresult.txt'), conclusion: "${currentBuild.currentResult}",
detailsURL: "${env.BUILD_URL}display/redirect"
}
}
}
}

stage('Pull Request') {
when {
not {
Expand Down
156 changes: 92 additions & 64 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,98 +1,126 @@
SHELL=/bin/bash
##############################################################################
# Run:
# make
# make start
#
# Go to:
#
# http://localhost:3000
#
# Cypress:
#
# make cypress-open
#
##############################################################################
# SETUP MAKE
#
## Defensive settings for make: https://tech.davis-hansson.com/p/make/
SHELL:=bash
.ONESHELL:
# for Makefile debugging purposes add -x to the .SHELLFLAGS
.SHELLFLAGS:=-eu -o pipefail -O inherit_errexit -c
.SILENT:
.DELETE_ON_ERROR:
MAKEFLAGS+=--warn-undefined-variables
MAKEFLAGS+=--no-builtin-rules

# Colors
# OK=Green, warn=yellow, error=red
ifeq ($(TERM),)
# no colors if not in terminal
MARK_COLOR=
OK_COLOR=
WARN_COLOR=
ERROR_COLOR=
NO_COLOR=
else
MARK_COLOR=`tput setaf 6`
OK_COLOR=`tput setaf 2`
WARN_COLOR=`tput setaf 3`
ERROR_COLOR=`tput setaf 1`
NO_COLOR=`tput sgr0`
endif

##############################################################################
# SETTINGS AND VARIABLE
DIR=$(shell basename $$(pwd))
ADDON ?= "@eeacms/volto-widget-dataprovenance"

# We like colors
# From: https://coderwall.com/p/izxssa/colored-makefile-for-golang-projects
RED=`tput setaf 1`
GREEN=`tput setaf 2`
RESET=`tput sgr0`
YELLOW=`tput setaf 3`

project:
npm install -g yo
npm install -g @plone/generator-volto
npm install -g mrs-developer
yo @plone/volto project --addon ${ADDON} --workspace "src/addons/${DIR}" --no-interactive
ln -sf $$(pwd) project/src/addons/
cp .project.eslintrc.js .eslintrc.js
cd project && yarn
@echo "-------------------"
@echo "$(GREEN)Volto project is ready!$(RESET)"
@echo "$(RED)Now run: cd project && yarn start$(RESET)"

all: project

.PHONY: start-test-backend
start-test-backend: ## Start Test Plone Backend
@echo "$(GREEN)==> Start Test Plone Backend$(RESET)"
docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e SITE=plone -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,kitconcept.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,kitconcept.volto,kitconcept.volto.cors -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi kitconcept.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING

.PHONY: start-backend-docker
start-backend-docker: ## Starts a Docker-based backend
@echo "$(GREEN)==> Start Docker-based Plone Backend$(RESET)"
docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e ADDONS="kitconcept.volto" -e ZCML="kitconcept.volto.cors" plone
NODE_MODULES?="../../../node_modules"
PLONE_VERSION?=6
VOLTO_VERSION?=16
ADDON_PATH="${DIR}"
ADDON_NAME="@eeacms/${ADDON_PATH}"
DOCKER_COMPOSE=PLONE_VERSION=${PLONE_VERSION} VOLTO_VERSION=${VOLTO_VERSION} ADDON_NAME=${ADDON_NAME} ADDON_PATH=${ADDON_PATH} docker compose

# Top-level targets
.PHONY: all
all: clean install

.PHONY: clean
clean: ## Cleanup development environment
${DOCKER_COMPOSE} down --volumes --remove-orphans

.PHONY: install
install: ## Build and install development environment
echo "Running: ${DOCKER_COMPOSE} build"
${DOCKER_COMPOSE} pull
${DOCKER_COMPOSE} build

.PHONY: start
start: ## Start development environment
echo "Running: ${DOCKER_COMPOSE} up"
${DOCKER_COMPOSE} up

.PHONY: test
test:
docker pull plone/volto-addon-ci:alpha
docker run -it --rm -e NAMESPACE="@eeacms" -e GIT_NAME="${DIR}" -e RAZZLE_JEST_CONFIG=jest-addon.config.js -v "$$(pwd):/opt/frontend/my-volto-project/src/addons/${DIR}" -e CI="true" plone/volto-addon-ci:alpha

.PHONY: test-update
test-update:
docker pull plone/volto-addon-ci:alpha
docker run -it --rm -e NAMESPACE="@eeacms" -e GIT_NAME="${DIR}" -e RAZZLE_JEST_CONFIG=jest-addon.config.js -v "$$(pwd):/opt/frontend/my-volto-project/src/addons/${DIR}" -e CI="true" plone/volto-addon-ci:alpha yarn test src/addons/${DIR}/src --watchAll=false -u
.PHONY: cypress-open
cypress-open: ## Open cypress integration tests
NODE_ENV=development $(NODE_MODULES)/cypress/bin/cypress open

.PHONY: help
help: ## Show this help.
@echo -e "$$(grep -hE '^\S+:.*##' $(MAKEFILE_LIST) | sed -e 's/:.*##\s*/:/' -e 's/^\(.\+\):\(.*\)/\\x1b[36m\1\\x1b[m:\2/' | column -c2 -t -s :)"
.PHONY: cypress-run
cypress-run: ## Run cypress integration tests
NODE_ENV=development $(NODE_MODULES)/cypress/bin/cypress run

.PHONY: test
test: ## Run jest tests
${DOCKER_COMPOSE} run -e CI=1 frontend test

ifeq ($(wildcard ./project),)
NODE_MODULES = "../../../node_modules"
else
NODE_MODULES = "./project/node_modules"
endif
.PHONY: test-update
test-update: ## Update jest tests snapshots
${DOCKER_COMPOSE} run -e CI=1 frontend test -u

.PHONY: stylelint
stylelint:
stylelint: ## Stylelint
$(NODE_MODULES)/stylelint/bin/stylelint.js --allow-empty-input 'src/**/*.{css,less}'

.PHONY: stylelint-overrides
stylelint-overrides:
$(NODE_MODULES)/.bin/stylelint --syntax less --allow-empty-input 'theme/**/*.overrides' 'src/**/*.overrides'

.PHONY: stylelint-fix
stylelint-fix:
stylelint-fix: ## Fix stylelint
$(NODE_MODULES)/stylelint/bin/stylelint.js --allow-empty-input 'src/**/*.{css,less}' --fix
$(NODE_MODULES)/.bin/stylelint --syntax less --allow-empty-input 'theme/**/*.overrides' 'src/**/*.overrides' --fix

.PHONY: prettier
prettier:
prettier: ## Prettier
$(NODE_MODULES)/.bin/prettier --single-quote --check 'src/**/*.{js,jsx,json,css,less,md}'

.PHONY: prettier-fix
prettier-fix:
prettier-fix: ## Fix prettier
$(NODE_MODULES)/.bin/prettier --single-quote --write 'src/**/*.{js,jsx,json,css,less,md}'

.PHONY: lint
lint:
lint: ## ES Lint
$(NODE_MODULES)/eslint/bin/eslint.js --max-warnings=0 'src/**/*.{js,jsx}'

.PHONY: lint-fix
lint-fix:
lint-fix: ## Fix ES Lint
$(NODE_MODULES)/eslint/bin/eslint.js --fix 'src/**/*.{js,jsx}'

.PHONY: i18n
i18n:
i18n: ## i18n
rm -rf build/messages
NODE_ENV=development $(NODE_MODULES)/.bin/i18n --addon

.PHONY: cypress-run
cypress-run:
NODE_ENV=development $(NODE_MODULES)/cypress/bin/cypress run

.PHONY: cypress-open
cypress-open:
NODE_ENV=development $(NODE_MODULES)/cypress/bin/cypress open
.PHONY: help
help: ## Show this help.
@echo -e "$$(grep -hE '^\S+:.*##' $(MAKEFILE_LIST) | sed -e 's/:.*##\s*/:/' -e 's/^\(.\+\):\(.*\)/\\x1b[36m\1\\x1b[m:\2/' | column -c2 -t -s :)"
head -n 14 Makefile
Loading

0 comments on commit b6b90c3

Please sign in to comment.