Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 79 additions & 37 deletions .github/workflows/codereview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,90 @@ name: TEMPLATE-PAYMENTS - Code Review

on:
push:
branches:
- main
- uat
- develop
branches: [ main, uat, develop ]
pull_request:
types:
- opened
- edited
- synchronize
types: [ opened, edited, synchronize ]
branches: [ main, uat, develop ]

env:
JAVA_VERSION: '21'
JAVA_DISTRIBUTION: 'corretto'

jobs:
build:
code-review:
name: Code Review & Quality Analysis
runs-on: ubuntu-latest
timeout-minutes: 30

steps:
- name: Checkout sources
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Java
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 #v4.2.1
with:
distribution: 'corretto'
java-version: 21

- name: Grant execute permission for gradlew
run: chmod +x ./gradlew

- name: Build with Gradle
working-directory: ./
run: ./gradlew clean build jacocoTestReport

- name: Sonar Scan
working-directory: ./
run: >
./gradlew sonar
-Dorg.gradle.jvmargs=-Xmx4096M
-Dsonar.host.url=https://sonarcloud.io
-Dsonar.organization=${{ vars.SONARCLOUD_ORG }}
-Dsonar.projectKey=${{ vars.SONARCLOUD_PROJECT_KEY }}
-Dsonar.projectName="${{ vars.SONARCLOUD_PROJECT_NAME }}"
-Dsonar.token=${{ secrets.SONAR_TOKEN }}
-Dsonar.sources=src/main
-Dsonar.tests=src/test
-Dsonar.coverage.jacoco.xmlReportPaths=build/reports/jacoco/test/jacocoTestReport.xml
-Dsonar.exclusions='**/enums/**, **/model/**, **/dto/**, **/*Constant*, **/*Config.java, **/*Scheduler.java, **/*Application.java, **/src/test/**, **/Dummy*.java'
uses: actions/setup-java@v4
with:
distribution: ${{ env.JAVA_DISTRIBUTION }}
java-version: ${{ env.JAVA_VERSION }}
cache: 'gradle'

- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Run Tests & Coverage
id: tests
run: ./gradlew clean build jacocoTestReport --info

- name: SonarCloud Scan
uses: SonarSource/sonarqube-scan-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args: >
-Dsonar.organization=${{ vars.SONARCLOUD_ORG }}
-Dsonar.projectKey=${{ vars.SONARCLOUD_PROJECT_KEY }}
-Dsonar.sources=src/main
-Dsonar.tests=src/test
-Dsonar.coverage.jacoco.xmlReportPaths=build/reports/jacoco/test/jacocoTestReport.xml
-Dsonar.exclusions='**/enums/**, **/model/**, **/dto/**, **/*Constant*, **/*Config.java, **/*Scheduler.java, **/*Application.java, **/src/test/**, **/Dummy*.java'
-Dsonar.qualitygate.wait=true

- name: SonarQube Quality Gate check
uses: sonarsource/sonarqube-quality-gate-action@master
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
scanMetadataReportFile: .scannerwork/report-task.txt

- name: Save Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-reports-${{ github.run_id }}
path: build/reports/tests/
retention-days: 7

- name: Save Coverage Results
if: always()
uses: actions/upload-artifact@v4
with:
name: coverage-reports-${{ github.run_id }}
path: build/reports/jacoco/
retention-days: 7

- name: Merge Reports
if: always()
uses: actions/upload-artifact/merge@v4
with:
name: all-reports-${{ github.run_id }}
pattern: '*-reports-${{ github.run_id }}'
retention-days: 7
55 changes: 55 additions & 0 deletions .github/workflows/flow-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: 🚀 Flow Release

on:
push:
branches:
- develop
- uat
- main
paths-ignore:
- 'CODEOWNERS'
- '**.md'
- '.**'
workflow_dispatch:

jobs:

checkout:
name: 🔖 Checkout Repository
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871
with:
ref: ${{ github.ref_name }}

payments-flow-release:
name: 🚀 Release
runs-on: ubuntu-22.04
needs: checkout
steps:
- name: 🚀 release + docker
# https://github.com/pagopa/github-actions-template/releases/tag/v2.0.0
uses: pagopa/github-actions-template/payments-flow-release@b825ee193430395706a4a7e580b8435bdded0227
with:
current_branch: ${{ github.ref_name }}

azure-devops-trigger:
name: 🅰️ Azure DevOps Pipeline Trigger
needs: payments-flow-release
runs-on: ubuntu-22.04
steps:
- name: Trigger Azure DevOps Pipeline
# https://github.com/pagopa/github-actions-template/releases/tag/v2.1.0
uses: pagopa/github-actions-template/azure-devops-trigger-pipeline@cad30356d9046af6e7b0cee43db4cf919cc408f9
with:
enable_azure_devops_step: 'true'
azure_devops_project_url: 'https://dev.azure.com/pagopaspa/p4pa-projects'
azure_devops_pipeline_name: 'p4pa-payhub-deploy-aks.deploy'
azure_devops_pat: ${{ secrets.AZURE_DEVOPS_TOKEN }}
azure_template_parameters: |
{
"APPS_TOP": "[p4pa-auth]",
"POSTMAN_BRANCH": "${{ github.ref_name }}",
"TRIGGER_MESSAGE": "p4pa-auth"
}
86 changes: 86 additions & 0 deletions .github/workflows/flow-snapshot-docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: 📦 Flow Snapshot Docker

on:
push:
branches-ignore:
- 'develop'
- 'uat'
- 'main'
paths-ignore:
- 'CODEOWNERS'
- '**.md'
- '.**'
workflow_dispatch:
inputs:
docker_build_enabled:
description: 'Enable Docker build'
required: false
default: 'true'
azdo_trigger_enabled:
description: 'Enable Azure DevOps trigger'
required: false
default: 'true'
argocd_target_branch:
description: 'argocd target branch name'
required: false
default: 'main'
postman_branch:
description: postman branch name'
required: false
default: 'develop'

env:
# branch choosed by workflow_dispatch or by push event
CURRENT_BRANCH: ${{ github.event.inputs.branch || github.ref_name }}

jobs:
checkout:
name: 🔖 Checkout Repository
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871
with:
ref: ${{ env.CURRENT_BRANCH }}

docker-build:
name: 📦 Docker Build and Push
needs: checkout
runs-on: ubuntu-22.04
if: ${{ github.event_name == 'push' || github.event.inputs.docker_build_enabled == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871
with:
ref: ${{ env.CURRENT_BRANCH }}

- name: Run Snapshot Docker Build/Push
# https://github.com/pagopa/github-actions-template/releases/tag/v2.0.0
uses: pagopa/github-actions-template/payments-flow-docker-snapshot@b825ee193430395706a4a7e580b8435bdded0227
with:
current_branch: ${{ github.ref_name }}

azure-devops-trigger:
name: 🅰️ Azure DevOps Pipeline Trigger
needs: docker-build
runs-on: ubuntu-22.04
if: |
always() &&
needs.docker-build.result != 'failure' &&
github.event.inputs.azdo_trigger_enabled == 'true'
steps:
- name: Trigger Azure DevOps Pipeline
# https://github.com/pagopa/github-actions-template/releases/tag/v2.1.0
uses: pagopa/github-actions-template/azure-devops-trigger-pipeline@cad30356d9046af6e7b0cee43db4cf919cc408f9
with:
enable_azure_devops_step: 'true'
azure_devops_project_url: 'https://dev.azure.com/pagopaspa/p4pa-projects'
azure_devops_pipeline_name: 'p4pa-payhub-deploy-aks.deploy'
azure_devops_pat: ${{ secrets.AZURE_DEVOPS_TOKEN }}
azure_template_parameters: |
{
"APPS_TOP": "[one-color]",
"ARGOCD_TARGET_BRANCH": "${{ github.event.inputs.argocd_target_branch }}",
"POSTMAN_BRANCH": "${{ github.event.inputs.postman_branch }}",
"TRIGGER_MESSAGE": "p4pa-auth"
}
24 changes: 0 additions & 24 deletions .github/workflows/release.yml

This file was deleted.

23 changes: 0 additions & 23 deletions .github/workflows/snapshot-docker.yml

This file was deleted.

1 change: 1 addition & 0 deletions force-release
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1623
2 changes: 1 addition & 1 deletion src/main/resources/application.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
server:
http: "\${SERVER_PORT:8080}"
http: "${SERVER_PORT:8080}"

spring:
application:
Expand Down
Loading