Skip to content

Merge branch 'feature/sse_code_smells_removals' into 'develop' #205

Merge branch 'feature/sse_code_smells_removals' into 'develop'

Merge branch 'feature/sse_code_smells_removals' into 'develop' #205

Workflow file for this run

name: Develop CI
on:
push:
branches:
- develop
env:
SONAR_PRJ_KEY: adorsys_ledgers
SONAR_ORG: adorsys
SONAR_HOST: https://sonarcloud.io
GPG_EXECUTABLE: ${{ secrets.GPG_EXECUTABLE }}
GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY}}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
jobs:
build:
name: Build Ledgers (openjdk 1.11)
runs-on: ubuntu-latest
steps:
- name: Clone ledgers develop repository
uses: actions/checkout@v2
- name: Set up JDK 11 for x64
uses: actions/setup-java@v1
with:
java-version: 1.11
architecture: x64
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build Ledgers
run: mvn -ntp -DskipTests -DskipITs -Dmaven.javadoc.skip=true clean install
javaDoc:
needs: build
name: Generate Javadocs
runs-on: ubuntu-latest
steps:
- name: Clone ledgers develop repository
uses: actions/checkout@v2
- name: Set up JDK 11 for x64
uses: actions/setup-java@v1
with:
java-version: 1.11
architecture: x64
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Compile before generate Javadocs
run: mvn -ntp -DskipTests -DskipITs -Dmaven.javadoc.skip=true clean install
- name: Generate javadocs
run: mvn -ntp javadoc:javadoc
pmdCheck:
needs: build
name: Run code analyser PMD
runs-on: ubuntu-latest
steps:
- name: Clone ledgers develop repository
uses: actions/checkout@v2
- name: Set up JDK 11 for x64
uses: actions/setup-java@v1
with:
java-version: 1.11
architecture: x64
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: build project before check
run: mvn -ntp -DskipTests -DskipITs -Dmaven.javadoc.skip=true clean install
- name: Check pmd
run: mvn -ntp pmd:check
UItests:
needs: build
name: Run UI tests
runs-on: ubuntu-latest
steps:
- name: Clone ledgers develop repository
uses: actions/checkout@v2
- name: Set up JDK 11 for x64
uses: actions/setup-java@v1
with:
java-version: 1.11
architecture: x64
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Run UI tests
run: mvn -ntp -DskipITs --fail-at-end clean install
sonar:
name: Publish code coverage to Sonar Cloud
needs: build
runs-on: ubuntu-latest
steps:
- name: Clone ledgers develop repository
uses: actions/checkout@v2
- name: Set up JDK 11 for x64
uses: actions/setup-java@v1
with:
java-version: 1.11
architecture: x64
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Publish to sonarcloud
run: >
mvn
-ntp
clean
org.jacoco:jacoco-maven-plugin:prepare-agent
install
sonar:sonar
-Pcoverage
-Dsonar.host.url=${{ env.SONAR_HOST }}
-Dsonar.projectKey=${{ env.SONAR_PRJ_KEY }}
-Dsonar.organization=${{ env.SONAR_ORG }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
deployMavenCentral:
name: Publish ledgers artifacts to Maven Central
needs: [build, UItests]
runs-on: ubuntu-latest
steps:
- name: Clone ledgers develop repository
uses: actions/checkout@v2
- name: Set up JDK 11 for x64
uses: actions/setup-java@v1
with:
java-version: 1.11
architecture: x64
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Publish to Maven Central
run: |
gpg --version
export GPG_TTY="$( tty )" #need to run to sign artifacts with maven
echo ${{ secrets.GPG_SECRET_KEY }} | base64 --decode | gpg --import --batch
echo ${{ secrets.GPG_OWNERTRUST }} | base64 --decode | gpg --batch --import-ownertrust
mvn -ntp --settings scripts/mvn-release-settings.xml \
-Dhttp.keepAlive=false \
-Dmaven.wagon.http.pool=false \
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 \
-Prelease -DskipTests -U deploy
shell: bash