-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
30 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,9 +34,9 @@ See [release notes](RELEASES.md). | |
Feedback | ||
======== | ||
|
||
For bug reports and feature requests create a new issue at <https://github.com/ibissource/ibis-ladybug/issues>. Ladybug | ||
For bug reports and feature requests create a new issue at <https://github.com/wearefrank/ibis-ladybug/issues>. Ladybug | ||
is developed and maintained by [WeAreFrank!](https://wearefrank.nl/). Contact us at <https://wearefrank.nl/en/contact/> | ||
or send an email to [email protected]. | ||
or email to [email protected]. | ||
|
||
|
||
Ladybug online demo | ||
|
@@ -106,17 +106,17 @@ help. | |
|
||
Direct integration of the Ladybug has been done in the Ladybug test webapp: | ||
|
||
- https://github.com/ibissource/ibis-ladybug-test-webapp | ||
- https://github.com/wearefrank/ibis-ladybug-test-webapp | ||
|
||
The Quarkus application to demo and test Ladybug: | ||
|
||
- https://github.com/ibissource/ladybug-quarkus | ||
- https://github.com/wearefrank/ladybug-quarkus | ||
|
||
And the Open ZaakBrug: | ||
|
||
- https://github.com/Sudwest-Fryslan/OpenZaakBrug | ||
|
||
The first two project do not contain much files so you can easily look at all the files and get an idea of how Ladybug | ||
The first two project do not contain many files, so you can easily look at all the files and get an idea of how Ladybug | ||
has been integrated. The [next section](#how-to-change-and-test-ladybug) describes how to run the Ladybug test webapp. | ||
For the Open ZaakBrug the most important files to look at are: | ||
|
||
|
@@ -128,11 +128,11 @@ For the Open ZaakBrug the most important files to look at are: | |
|
||
The Frank!Framework is using AOP to integrate the Ladybug, see the Ladybug module of the Frank!Framework: | ||
|
||
- https://github.com/ibissource/iaf/tree/master/ladybug | ||
- https://github.com/frankframework/frankframework/tree/master/ladybug | ||
|
||
And the AOP related spring configuration xml: | ||
|
||
- https://github.com/ibissource/iaf/blob/master/ladybug/src/main/resources/springIbisDebuggerAdvice.xml | ||
- https://github.com/frankframework/frankframework/blob/master/ladybug/src/main/resources/springIbisDebuggerAdvice.xml | ||
|
||
The [next section](#how-to-change-and-test-ladybug) also describes how to run Ladybug with the Frank!Framework. | ||
|
||
|
@@ -145,26 +145,26 @@ General setup | |
|
||
Clone the following projects to your Git folder or any other folder of your choice: | ||
|
||
- https://github.com/ibissource/ibis-ladybug (backend code) (the project you are currently looking at) | ||
- https://github.com/ibissource/ladybug-frontend (frontend code, not needed when making backend changes) | ||
- https://github.com/ibissource/ibis-ladybug-test-webapp (webapp to test Ladybug) | ||
- https://github.com/ibissource/frank-runner (building and running the test webapp with Ladybug) | ||
- https://github.com/ibissource/iaf (in case you want to test your Ladybug changes with the Frank!Framework) | ||
- https://github.com/wearefrank/ibis-ladybug (backend code) (the project you are currently looking at) | ||
- https://github.com/wearefrank/ladybug-frontend (frontend code, not needed when making backend changes) | ||
- https://github.com/wearefrank/ladybug-test-webapp (webapp to test Ladybug) | ||
- https://github.com/wearefrank/frank-runner (building and running the test webapp with Ladybug) | ||
- https://github.com/frankframework/frankframework (in case you want to test your Ladybug changes with the Frank!Framework) | ||
|
||
Create skip-replace-inject.txt in the ibis-ladybug folder (see pom.xml for more info). | ||
|
||
Backend development | ||
------------------- | ||
|
||
Read the Frank!Runner [README.md](https://github.com/ibissource/frank-runner#frankrunner) to learn how to integrate it | ||
Read the Frank!Runner [README.md](https://github.com/wearefrank/frank-runner#frankrunner) to learn how to integrate it | ||
with your IDE but you can also just start the restart.bat in the frank-runner/specials/ibis-ladybug folder. This should | ||
build and run the test webapp with Ladybug. When Tomcat has been started by the Frank!Runner browse to: | ||
|
||
- http://localhost | ||
|
||
This should display a page with links to the various resources available like the Ladybug frontend and API. | ||
|
||
To speed up the build copy build-exmaple.properties in this folder to build.properties and enable the relevant | ||
To speed up the build copy build-example.properties in this folder to build.properties and enable the relevant | ||
properties as describes in the comments in this file. | ||
|
||
You can also enable spring.profiles.active=storage.file to use the file storage and see the reports generated by the | ||
|
@@ -173,7 +173,7 @@ unit tests of the ibis-ladybug project in the Ladybug GUI. | |
Testing backend changes with Frank!Framework | ||
-------------------------------------------- | ||
|
||
To test your Ladybug changes with the Frank!Framework enable test.with.iaf=true. By default it will test with the webapp | ||
To test your Ladybug changes with the Frank!Framework enable test.with.iaf=true. By default, it will test with the webapp | ||
module of the Frank!Framework. This can be changed with the iaf.module property. The frank-runner/specials folder | ||
contains a folder per module that can have it's own build.properties with custom properties (see the build.xml for | ||
possible values). | ||
|
@@ -198,7 +198,7 @@ Testing frontend changes with the test webapp | |
Testing frontend changes with Frank!Framework | ||
--------------------------------------------- | ||
|
||
The Frank!Framework incorporates Ladybug and configures is a bit different then the test webapp. It for example adds a Gray box view which you might want to test. The Frank!Framework serves the Ladybug on a different url then the test webapp so you need to configure the previously mentioned proxy a bit different and change the url in src/proxy.conf.json from http://localhost/ladybug to http://localhost/iaf/ladybug. In case you also have backend changes you can start the Frank!Framework as eplained above (with test.with.iaf=true). Otherwise it is easier to for example run Frank2Example1. See the Frank!Runner [README.md](https://github.com/ibissource/frank-runner#frankrunner) for more information on how to start a Frank2Example1 or another Frank. | ||
The Frank!Framework incorporates Ladybug and configures is a bit different then the test webapp. It for example adds a Gray box view which you might want to test. The Frank!Framework serves the Ladybug on a different url then the test webapp so you need to configure the previously mentioned proxy a bit different and change the url in src/proxy.conf.json from http://localhost/ladybug to http://localhost/iaf/ladybug. In case you also have backend changes you can start the Frank!Framework as eplained above (with test.with.iaf=true). Otherwise it is easier to for example run Frank2Example1. See the Frank!Runner [README.md](https://github.com/wearefrank/frank-runner#frankrunner) for more information on how to start a Frank2Example1 or another Frank. | ||
|
||
Testing frontend changes with unit tests | ||
---------------------------------------- | ||
|
@@ -222,9 +222,9 @@ When the tests are running, you will see the ibis-ladybug GUI. The GUI will show | |
|
||
Quarkus | ||
===== | ||
To see how to run the backend for Quarkus, please see [Quarkus backend](https://github.com/ibissource/ladybug-quarkus#demo-and-test-ladybug-in-quarkus).\ | ||
To see how to run the backend for Quarkus, please see [Quarkus backend](https://github.com/wearefrank/ladybug-quarkus#demo-and-test-ladybug-in-quarkus).\ | ||
For the frontend, do the following: | ||
- Check out of the branch [Quarkus configuration](https://github.com/ibissource/ladybug-frontend/tree/quarkus-configuration) | ||
- Check out of the branch [Quarkus configuration](https://github.com/wearefrank/ladybug-frontend/tree/quarkus-configuration) | ||
- Run `ng serve --open` or run `ng serve` and navigate to [localhost/ladybug](http://localhost/ladybug/) | ||
- NOTE: It is important to note that running a report in the test tab is not yet possible with Quarkus | ||
|
||
|
@@ -274,7 +274,7 @@ Create and publish NPM package and WebJar | |
CI/CD | ||
===== | ||
|
||
The preceeding sections explained how to change Ladybug. This section explains the CI/CD of Ladybug and it explains how we manage releases. | ||
The preceding sections explained how to change Ladybug. This section explains the CI/CD of Ladybug, and it explains how we manage releases. | ||
|
||
First remember that ibis-ladybug is the main project. Project ladybug-frontend is a dependency of ibis-ladybug. The frontend version referenced by ibis-ladybug is specified by the ibis-ladybug `pom.xml` file. It is the value of property `frontend.version`. This property contains a version number that references a WebJar, see [Create and publish NPM package and WebJar](#create-and-publish-npm-package-and-webjar) about creating a WebJar from project ladybug-frontend. This way, a release of ibis-ladybug comes down to releasing the combination of ibis-ladybug and ladybug-frontend. | ||
|
||
|
@@ -287,24 +287,24 @@ The Cypress test is used in two ways. First, it can be triggered if ibis-ladybug | |
* useRealFrontend: `true`, because we do not want to use the checkout of ladybug-frontend, but the WebJar contained in ibis-ladybug. | ||
* mergeMasterToBranch: `true`, for the backend directs the test to merge the master into the checkout. This way, a pull request of the backend is emulated. | ||
|
||
This scenario does not work on forks of the ibis-ladybug project. A fork does not have rights to trigger tests within the `ibissource/ladybug-frontend` project. A commit on `ibissource/ibis-ladybug` triggers the front-end test. GitHub will not show the success or failure of the front-end test. Please browse to https://github.com/ibissource/ladybug-frontend and go to "Actions". Check the latest test run there. | ||
This scenario does not work on forks of the ibis-ladybug project. A fork does not have rights to trigger tests within the `wearefrank/ladybug-frontend` project. A commit on `wearefrank/ibis-ladybug` triggers the front-end test. GitHub will not show the success or failure of the front-end test. Please browse to https://github.com/wearefrank/ladybug-frontend and go to "Actions". Check the latest test run there. | ||
|
||
The second use of the Cypress test is testing the front-end. The Cypress test is triggered by every commit and every pull request update of the ladybug-frontend project. The input arguments are not set, causing the new commit (or merge commit for a PR) to be checked out for ladybug-frontend. For ibis-ladybug the master is checked out. Input `useRealFrontend` is undefined, which is equivalent to `false`. This means that the front-end comes from the checkout of ladybug-frontend; the WebJar inside ibis-ladybug is ignored. Finally, `mergeMasterToBranch` is undefined (`false`). This scenario also works on forks of `ladybug-frontend`. | ||
|
||
Here is how to use the CI/CD of Ladybug: | ||
|
||
### Update the backend only | ||
|
||
After a push on project `ibissource/ibis-ladybug`, open https://github.com/ibissource/ladybug-frontend and go to "Actions". Check the success or failure state of the latest GitHub action. The test exercises the front-end that is referenced by the backend, an integration test. The test logs which WebJar version of the front-end is used and what branch of the backend; please check these to see whether the test run corresponds to your commit. | ||
After a push on project `wearefrank/ibis-ladybug`, open https://github.com/wearefrank/ladybug-frontend and go to "Actions". Check the success or failure state of the latest GitHub action. The test exercises the front-end that is referenced by the backend, an integration test. The test logs which WebJar version of the front-end is used and what branch of the backend; please check these to see whether the test run corresponds to your commit. | ||
|
||
When the master of ibissource/ibis-ladybug has been changed, check the success or failure of our Jenkins test that runs on an on-premise server. That test checks the build of project ibis-ladybug. | ||
When the master of wearefrank/ibis-ladybug has been changed, check the success or failure of our Jenkins test that runs on an on-premise server. That test checks the build of project ibis-ladybug. | ||
|
||
### Update the front-end | ||
|
||
When updating the front-end, work on a branch that is allowed to live on a fork of the ladybug-frontend project. The Cypress test is executed for every commit. If you turn your work into a pull request, the success or failure status of the Cypress test will be shown in the pull request. As long as the updated front-end code is not referenced by the ibis-ladybug project, it is not part of Ladybug. | ||
|
||
### Update front-end and backend | ||
|
||
Update the front-end and the backend simultaneously on your development PC. The front-end changes will fail in CI/CD because they are tested against the master of the backend. Rely on the Cypress test on your development PC and on the Maven build of ibis-ladybug to test your work. When you trust your work, release the front-end in a WebJar as explained in [Create and publish NPM package and WebJar](#create-and-publish-npm-package-and-webjar). Please note that the released commit may live on another branch than master. Ensure that the commit and the tag are pushed to GitHub project ibissource/ladybug-frontend. Then update `pom.xml` of ibis-ladybug to reference the new WebJar; do so on a branch pushed to ibissource/ibis-ladybug. This update of the backend triggers the GitHub actions front-end test as explained earlier. Check that the latest run of the front-end test succeeds. | ||
Update the front-end and the backend simultaneously on your development PC. The front-end changes will fail in CI/CD because they are tested against the master of the backend. Rely on the Cypress test on your development PC and on the Maven build of ibis-ladybug to test your work. When you trust your work, release the front-end in a WebJar as explained in [Create and publish NPM package and WebJar](#create-and-publish-npm-package-and-webjar). Please note that the released commit may live on another branch than master. Ensure that the commit and the tag are pushed to GitHub project wearefrank/ladybug-frontend. Then update `pom.xml` of ibis-ladybug to reference the new WebJar; do so on a branch pushed to wearefrank/ibis-ladybug. This update of the backend triggers the GitHub actions front-end test as explained earlier. Check that the latest run of the front-end test succeeds. | ||
|
||
At this point, you can merge your work on ibis-ladybug to its master branch. After this merge, additional pushes on your ladybug-frontend branch will succeed in CI/CD because the corresponding backend changes are in the backend master. You can merge your front-end changes to master if the GitHub actions test succeeds. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters