Skip to content

This repo will contain the small Maven projects with different plugins deployed to gh-pages with GitHub actions.

License

Notifications You must be signed in to change notification settings

faisalazam/MavenInActionWithGitHubActions

Repository files navigation

Parent CI/CD pages-build-deployment Instructions Coverage Branches Coverage checkstyle Known Vulnerabilities Apache License, Version 2.0, January 2004

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:

Module Status
SiteGeneration Site CI/CD pages-build-deployment
TestsExecution
JacocoExecution
PuttingAllTogether PuttingAllTogether CI/CD pages-build-deployment

Every next submodule is built on top of the previous submodule. For example, TestsExecution is built on top of SiteGeneration.

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 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 page.

If you plan to contribute on a regular basis, please consider filing a contributor license agreement. You can learn more about contributing via GitHub in our contribution guidelines.

License

This code is under the Apache Licence v2.