Skip to content

fix(INF-57): update GitHub Actions #12

fix(INF-57): update GitHub Actions

fix(INF-57): update GitHub Actions #12

name: Continuous Integration
on:
push:
branches-ignore:
- 'main'
paths-ignore:
- '.github/workflows/helm-chart-release.yml'
- 'helm/**'
jobs:
build:
runs-on: ubuntu-22.04
timeout-minutes: 5
env:
# This will suppress any download for dependencies and plugins or upload messages which would clutter the console log.
# `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work.
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
# As of Maven 3.3.0 instead of this you may define these options in `.mvn/maven.config` so the same config is used
# when running from the command line.
# `installAtEnd` and `deployAtEnd` are only effective with recent version of the corresponding plugins.
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
steps:
- uses: actions/checkout@v4
- name: Set up Env
run: |
echo "SONAR_ANALYSIS_ENABLED=${{ secrets.SONAR_ANALYSIS_ENABLED }}" >> $GITHUB_ENV
## Configure JDK
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
cache: 'maven'
## Configure maven settings
- name: Prepare maven settings
env:
REGISTRY_URL: ${{ secrets.LEVIGO_NEXUS_REGISTRY_SNAPSHOTS }}
REPOSITORY_URL: ${{ secrets.LEVIGO_NEXUS_REPO_ALL }}
REPOSITORY_USERID: ${{ secrets.LEVIGO_NEXUS_USERNAME }}
REPOSITORY_CREDENTIALS: ${{ secrets.LEVIGO_NEXUS_PASSWORD }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
SONAR_LOGIN: ${{ secrets.SONAR_LOGIN }}
run: |
mkdir -p ~/.m2
envsubst < ./.github/settings.xml > ~/.m2/settings.xml
## Build with maven
- name: Perform build
run: mvn $MAVEN_CLI_OPTS verify -Dmaven.test.failure.ignore=true
## Static code analysis with sonarqube
- name: Perform sonar analysis
if: env.SONAR_ANALYSIS_ENABLED == 'true'
continue-on-error: true
run: mvn $MAVEN_CLI_OPTS sonar:sonar -Dsonar.scm.disabled=true -Dsonar.qualitygate.wait=true