This project builds the following artifacts:
- A docker image that can be used to run this application stand-alone.
-
Navigate to "docusaurus" subfolder.
cd ./docusaurus -
Install dependencies.
npm install -
Serve Docusaurus webserver locally.
./node_modules/.bin/docusaurus.cmd startBy default it is served at
http://localhost:3000/. -
Basic guide on how to use Docusaurus and a styleguide can be found at
./docusaurus/docs/_README.md.
- Navigate to the 'docusaurus' subfolder:
cd ./docusaurus - Update dependencies:
npm i @docusaurus/core@latest @docusaurus/preset-classic@latest @docusaurus/theme-mermaid@latest @docusaurus/module-type-aliases@latest @docusaurus/tsconfig@latest @docusaurus/types@latest
We use conventional commits, see https://www.conventionalcommits.org/en/v1.0.0/. Releases are created automatically by GitHub Actions, see .github/workflows/ci.yml and .github/workflows/release.yml.
Please take care to write meaningful commit messages that result in meaningful entries in CHANGELOG.md. Here is an example of the commit message for a breaking change:
chore: example of a chore that breaks
BREAKING: This is what breaks
This commit message appears as follows in the release notes:
A breaking change means that this version is not backwards compatible with the previous release. A breaking change should result in a major release (first number of semantic version is incremented). Please note the following:
- The word BREAKING should appear on the last line of the commit message.
- The word BREAKING is followed by a
:and a description. This description appears in the release notes in a bullet that explains what is breaking. - The commit type (e.g. chore) is still relevant for breaking changes. This information appears in the release notes in the same way as a non-breaking change.
- For non-breaking changes, omit the line with BREAKING and make a commit message like the first line shown.
Here is a checklist for testing the CI/CD.
- Testing goes best when you make hot fixes on the main branch. Check with the team that you are allowed to do this.
- Do a commit on main that has a commit message starting with
fix:. The following should happen:- The pipeline succeeds - this checks all authorizations are in place.
- A commit with a message starting with
chore:has been added automatically. - The extra commit updates files
src/main/resources/BuildInfo.properties,configurations/verwerkingenlogging-api-server/BuildInfo.properties,publiccode.yamlandCHANGELOG.md. - These files should have trustworthy contents - speaks for itself.
- On GitHub, there is a tag for the new version that starts with
v. For example if the new release is3.2.1then the tag should bev3.2.1. You can get this tag usinggit fetch originon the command line. - The docker image for the release has been created on http://www.dockerhub.com. The
latesttag should have been updated - creation time should be the current time. Depending on the type of release, the3.2.1, the3.2or the3tags should be the current date. - Check on dockerhub that tags that should not have been updated do not have the current time as creation time.
- Run the docker image using
docker run -p 8080:8080 wearefrank/verwerkingenlogging-api-server:3.2.1. Check the name of the docker container you started usingdocker ps -a. Login to the docker container usingdocker exec -it <container name> bash. Check that/opt/frank/resources/BuildInfo.propertiesand/opt/frank/configurations/verwerkingenlogging-api-server/BuildInfo.propertiescontain the right version and the right date.
- Check a breaking change like above. This should update the major version.
- Do a commit with [skip ci] in the commit message. It should not make a release and it should not push a docker image.
- Make a pull request. Check that no release is made and that no docker image is pushed.
