Skip to content

Commit

Permalink
Build and scan workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
fugerit79 committed Oct 17, 2024
1 parent 0e64c8a commit d70bb0e
Show file tree
Hide file tree
Showing 3 changed files with 137 additions and 0 deletions.
75 changes: 75 additions & 0 deletions .github/workflows/build_maven_package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# CI with maven build and scan
#
# version 1.0.1
#
# see : https://universe.fugerit.org/src/docs/conventions/workflows/build_maven_package.html

name: CI maven build and scan

on:
# Trigger analysis when pushing in master or pull requests, and when creating
# a pull request.
push:
branches:
- main
- develop
- branch-preview
pull_request:
types:
- opened
- synchronize
- reopened

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@main
with:
# Shallow clones should be disabled for a better relevancy of analysis
fetch-depth: 0

- uses: graalvm/setup-graalvm@main
with:
java-version: '22-ea'
distribution: 'graalvm'
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: 'true'

- name: Cache Maven packages
uses: actions/cache@main
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Cache SonarCloud packages
uses: actions/cache@main
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- uses: actions/setup-node@main
with:
node-version: 20
- name: Maven version
run: mvn -v
env:
# Needed to get some information about the pull request, if any
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# SonarCloud access token should be generated from https://sonarcloud.io/account/security/
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Build and analyze
run: mvn -B clean install org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Pcoverage,full,metadata,sonarfugerit,buildreact -Dsonar.projectKey=fugerit-org_${{github.event.repository.name}}
env:
# Needed to get some information about the pull request, if any
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# SonarCloud access token should be generated from https://sonarcloud.io/account/security/
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

# Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
- name: Update dependency graph
# if DISABLE_MAVEN_DEPENDENCY_SUBMISSION is set to true, skip this step
if: ${{ vars.DISABLE_MAVEN_DEPENDENCY_SUBMISSION != 'true' }}
uses: advanced-security/maven-dependency-submission-action@main
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- build and scan workflow
- all default doc handlers
- all default source types (xml, json, yaml)
48 changes: 48 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -207,5 +207,53 @@
<quarkus.native.enabled>true</quarkus.native.enabled>
</properties>
</profile>
<!-- profiles for fugerit-org workflows -->
<profile>
<id>sonarfugerit</id>
<properties>
<!-- sonar cloud configuration -->
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.organization>fugerit-org</sonar.organization>
<sonar.moduleKey>${project.artifactId}</sonar.moduleKey>
<!-- sonar.projectKey must be added by the project -->
</properties>
</profile>
<profile>
<id>coverage</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<goals>
<goal>report</goal>
</goals>
<configuration>
<formats>
<format>XML</format>
</formats>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

0 comments on commit d70bb0e

Please sign in to comment.