@eeacms/volto-banner
Advanced tools
Comparing version 1.0.2 to 1.0.3
@@ -7,4 +7,11 @@ ### Changelog | ||
#### [1.0.3](https://github.com/eea/volto-banner/compare/1.0.2...1.0.3) | ||
- Add SonarQube badges [`97e09d6`](https://github.com/eea/volto-banner/commit/97e09d6dd56a5446b5dbca251ce04b9a03c16122) | ||
#### [1.0.2](https://github.com/eea/volto-banner/compare/1.0.1...1.0.2) | ||
> 10 December 2021 | ||
- Develop [`#13`](https://github.com/eea/volto-banner/pull/13) | ||
- Correct Cypress tests [`#12`](https://github.com/eea/volto-banner/pull/12) | ||
@@ -11,0 +18,0 @@ - Correct one comment [`6ff7654`](https://github.com/eea/volto-banner/commit/6ff76545a1aca6a9b5e7b1e0586fd251f7ce02c8) |
{ | ||
"name": "@eeacms/volto-banner", | ||
"version": "1.0.2", | ||
"version": "1.0.3", | ||
"description": "@eeacms/volto-banner: Volto add-on", | ||
@@ -26,2 +26,4 @@ "main": "src/index.js", | ||
"release": "release-it", | ||
"release-major-beta": "release-it major --preRelease=beta", | ||
"release-beta": "release-it --preRelease=beta", | ||
"bootstrap": "npm install -g ejs; npm link ejs; node bootstrap", | ||
@@ -28,0 +30,0 @@ "stylelint": "../../../node_modules/stylelint/bin/stylelint.js --allow-empty-input 'src/**/*.{css,less}'", |
# volto-banner | ||
[](https://github.com/eea/volto-banner/releases) | ||
[](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-banner/job/master/display/redirect) | ||
[](https://sonarqube.eea.europa.eu/dashboard?id=volto-banner-master) | ||
[](https://sonarqube.eea.europa.eu/dashboard?id=volto-banner-master) | ||
[](https://sonarqube.eea.europa.eu/dashboard?id=volto-banner-master) | ||
[](https://sonarqube.eea.europa.eu/dashboard?id=volto-banner-master) | ||
[](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-banner/job/develop/display/redirect) | ||
[](https://sonarqube.eea.europa.eu/dashboard?id=volto-banner-develop) | ||
[](https://sonarqube.eea.europa.eu/dashboard?id=volto-banner-develop) | ||
[](https://sonarqube.eea.europa.eu/dashboard?id=volto-banner-develop) | ||
[](https://sonarqube.eea.europa.eu/dashboard?id=volto-banner-develop) | ||
@@ -108,2 +118,77 @@ [Volto](https://github.com/plone/volto) add-on | ||
## Release | ||
### Automatic release using Jenkins | ||
* The automatic release is started by creating a [Pull Request](../../compare/master...develop) from `develop` to `master`. The pull request status checks correlated to the branch and PR Jenkins jobs need to be processed successfully. 1 review from a github user with rights is mandatory. | ||
* It runs on every commit on `master` branch, which is protected from direct commits, only allowing pull request merge commits. | ||
* The automatic release is done by [Jenkins](https://ci.eionet.europa.eu). The status of the release job can be seen both in the Readme.md badges and the green check/red cross/yellow circle near the last commit information. If you click on the icon, you will have the list of checks that were run. The `continuous-integration/jenkins/branch` link goes to the Jenkins job execution webpage. | ||
* Automated release scripts are located in the `eeacms/gitflow` docker image, specifically [js-release.sh](https://github.com/eea/eea.docker.gitflow/blob/master/src/js-release.sh) script. It uses the `release-it` tool. | ||
* As long as a PR request is open from develop to master, the PR Jenkins job will automatically re-create the CHANGELOG.md and package.json files to be production-ready. | ||
* The version format must be MAJOR.MINOR.PATCH. By default, next release is set to next minor version (with patch 0). | ||
* You can manually change the version in `package.json`. The new version must not be already present in the tags/releases of the repository, otherwise it will be automatically increased by the script. Any changes to the version will trigger a `CHANGELOG.md` re-generation. | ||
* Automated commits and commits with [JENKINS] or [YARN] in the commit log are excluded from `CHANGELOG.md` file. | ||
### Manual release from the develop branch ( beta release ) | ||
#### Installation and configuration of release-it | ||
You need to first install the [release-it](https://github.com/release-it/release-it) client. | ||
``` | ||
npm install -g release-it | ||
``` | ||
Release-it uses the configuration written in the [`.release-it.json`](./.release-it.json) file located in the root of the repository. | ||
Release-it is a tool that automates 4 important steps in the release process: | ||
1. Version increase in `package.json` ( increased from the current version in `package.json`) | ||
2. `CHANGELOG.md` automatic generation from commit messages ( grouped by releases ) | ||
3. GitHub release on the commit with the changelog and package.json modification on the develop branch | ||
4. NPM release ( by default it's disabled, but can be enabled in the configuration file ) | ||
To configure the authentification, you need to export GITHUB_TOKEN for [GitHub](https://github.com/settings/tokens) | ||
``` | ||
export GITHUB_TOKEN=XXX-XXXXXXXXXXXXXXXXXXXXXX | ||
``` | ||
To configure npm, you can use the `npm login` command or use a configuration file with a TOKEN : | ||
``` | ||
echo "//registry.npmjs.org/:_authToken=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" > .npmrc | ||
``` | ||
#### Using release-it tool | ||
There are 3 yarn scripts that can be run to do the release | ||
##### yarn release-beta | ||
Automatically calculates and presents 3 beta versions - patch, minor and major for you to choose ( or Other for manual input). | ||
``` | ||
? Select increment (next version): | ||
❯ prepatch (0.1.1-beta.0) | ||
preminor (0.2.0-beta.0) | ||
premajor (1.0.0-beta.0) | ||
Other, please specify... | ||
``` | ||
##### yarn release-major-beta | ||
Same as `yarn release-beta`, but with premajor version pre-selected. | ||
##### yarn release | ||
Generic command, does not automatically add the `beta` to version, but you can still manually write it if you choose Other. | ||
#### Important notes | ||
> Do not use release-it tool on master branch, the commit on CHANGELOG.md file and the version increase in the package.json file can't be done without a PULL REQUEST. | ||
> Do not keep Pull Requests from develop to master branches open when you are doing beta releases from the develop branch. As long as a PR to master is open, an automatic script will run on every commit and will update both the version and the changelog to a production-ready state - ( MAJOR.MINOR.PATCH mandatory format for version). | ||
## How to contribute | ||
@@ -110,0 +195,0 @@ |
Sorry, the diff of this file is not supported yet
54973
207