https://github.com/faisalazam/maveninactionwithgithubactions
This repo will contain the small Maven projects with different plugins deployed to gh-pages with GitHub actions.
https://github.com/faisalazam/maveninactionwithgithubactions
ci-cd code-coverage failsafe-plugin github-actions github-package-deployment github-pages github-workflows jacocoverage maven maven-plugin maven-profiles maven-site-plugin merge-code-coverage-reports run-unit-and-integration-tests-separately separate-code-coverage-reports site-descriptor status-badges surefire-plugin surefire-reporting
Last synced: 3 months ago
JSON representation
This repo will contain the small Maven projects with different plugins deployed to gh-pages with GitHub actions.
- Host: GitHub
- URL: https://github.com/faisalazam/maveninactionwithgithubactions
- Owner: faisalazam
- License: apache-2.0
- Created: 2023-06-12T08:07:33.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-06-24T18:39:03.000Z (over 2 years ago)
- Last Synced: 2025-03-25T16:50:59.658Z (7 months ago)
- Topics: ci-cd, code-coverage, failsafe-plugin, github-actions, github-package-deployment, github-pages, github-workflows, jacocoverage, maven, maven-plugin, maven-profiles, maven-site-plugin, merge-code-coverage-reports, run-unit-and-integration-tests-separately, separate-code-coverage-reports, site-descriptor, status-badges, surefire-plugin, surefire-reporting
- Language: Java
- Homepage: https://faisalazam.github.io/MavenInActionWithGitHubActions/
- Size: 2.05 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/faisalazam/MavenInActionWithGitHubActions/actions/workflows/parent-build.yml)
[](https://github.com/faisalazam/MavenInActionWithGitHubActions/actions/workflows/pages/pages-build-deployment)
[](https://faisalazam.github.io/MavenInActionWithGitHubActions/INDIVIDUAL_MODULES/PuttingAllTogether/jacoco-merged/index.html)
[](https://faisalazam.github.io/MavenInActionWithGitHubActions/INDIVIDUAL_MODULES/PuttingAllTogether/jacoco-merged/index.html)
[](https://faisalazam.github.io/MavenInActionWithGitHubActions/INDIVIDUAL_MODULES/PuttingAllTogether/checkstyle.html)
[](https://snyk.io/test/github/faisalazam/maveninactionwithgithubactions)
[](https://www.apache.org/licenses/LICENSE-2.0)
Maven/Plugins & GitHub Pages/Workflows/Actions
![]()
This project
will automatically be deployed to GitHub Pages
with GitHub Actions by going through the following steps:
## Inspiration
While working on a personal project, felt a need to develop and share a template maven project solving
the basic problems. Some of them are included below which led to a series of small projects in this repo:
- Running all tests
- Running single test, class, package etc.
- Running unit and integration tests separately
- Code coverage for unit and integration tests separately
- Combined code coverage for unit and integration tests
- Other checks like checkstyle, PMD, etc.
- Project Site generation for single module setup
- Project Site generation for multi module setup
- Automated deployment to GitHub Pages using GitHub Workflows and Actions
## Modules
Following are the submodules of this [parent project][parent-project-url]:
| Module | Status |
|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SiteGeneration][site-generation-url] | [](https://github.com/faisalazam/MavenInActionWithGitHubActions/actions/workflows/site-generation.yml) [](https://github.com/faisalazam/MavenInActionWithGitHubActions/actions/workflows/pages/pages-build-deployment) |
| [TestsExecution][tests-execution-url] | |
| [JacocoExecution][jacoco-execution-url] | |
| [PuttingAllTogether][putting-all-together-url] | [](https://github.com/faisalazam/MavenInActionWithGitHubActions/actions/workflows/putting-all-together.yml) [](https://github.com/faisalazam/MavenInActionWithGitHubActions/actions/workflows/pages/pages-build-deployment) |
Every next submodule is built on top of the previous submodule. For example, [TestsExecution][tests-execution-url] is
built on top of [SiteGeneration][site-generation-url].
## Maven and Java Version
Following are the versions which are installed and used to develop these projects:
```
Apache Maven 3.9.2 (c9616018c7a021c1c39be70fb2843d6f5f9b8a1c)
Maven home: /usr/local/Cellar/maven/3.9.2/libexec
Java version: 20.0.1, vendor: Homebrew, runtime: /usr/local/Cellar/openjdk/20.0.1/libexec/openjdk.jdk/Contents/Home
Default locale: en_AU, platform encoding: UTF-8
OS name: "mac os x", version: "13.4", arch: "x86_64", family: "mac"
```
Contributing
------------
We accept Pull Requests via GitHub. Comments on the PRs is the main channel of communication for contributors.
There are some guidelines which will make applying PRs easier for us:
+ No tabs! Please use spaces for indentation.
+ Respect the code style.
+ Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
+ Provide [JUnit tests][junit-url] for your changes and ensure that your changes don't break any existing tests by running:
+ ```mvn clean test verify```
+ You can check whether there are currently broken tests at the [Continuous Integration][parent-cicd-link-url] page.
If you plan to contribute on a regular basis, please consider filing a [contributor license agreement][contributor-license-agreement-url].
You can learn more about contributing via GitHub in our [contribution guidelines](CONTRIBUTING.md).
License
-------
This code is under the [Apache Licence v2][apache-license-link-url].
[parent-cicd-link-url]:https://github.com/faisalazam/MavenInActionWithGitHubActions/actions/workflows/parent-build.yml
[apache-license-badge-url]:https://img.shields.io/github/license/apache/maven.svg?label=License
[apache-license-link-url]:https://www.apache.org/licenses/LICENSE-2.0
[parent-project-url]:https://faisalazam.github.io/MavenInActionWithGitHubActions/staging/index.html
[site-generation-url]:https://faisalazam.github.io/MavenInActionWithGitHubActions/staging/SiteGeneration/sitegeneration/index.html
[tests-execution-url]:https://faisalazam.github.io/MavenInActionWithGitHubActions/staging/TestsExecution/testsexecution/index.html
[jacoco-execution-url]:https://faisalazam.github.io/MavenInActionWithGitHubActions/staging/JacocoExecution/jacocoexecution/index.html
[putting-all-together-url]:https://faisalazam.github.io/MavenInActionWithGitHubActions/staging/PuttingAllTogether/puttingalltogether/index.html
[junit-url]:https://junit.org/junit5/docs/current/user-guide
[contributor-license-agreement-url]:https://www.apache.org/licenses/#clas