Skip to content

CND-94 pt 2 - Feature flag modernized deduplication #747

CND-94 pt 2 - Feature flag modernized deduplication

CND-94 pt 2 - Feature flag modernized deduplication #747

Workflow file for this run

name: SonarCloud
on:
workflow_call:
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID:
description: "Secret named CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID where ECR resides."
required: true
PASSED_GITHUB_TOKEN:
description: "Secret named GITHUB_TOKEN that references the github token for this repository."
required: true
SONAR_TOKEN:
description: "Secret named SONAR_TOKEN that references the sonar token secret corresponding to the project in sonarcloud."
required: true
pull_request:
paths:
- "data-ingestion-service/**"
- "data-processing-service/**"
- "hl7-parser/**"
- "cdaschema/**"
- "deduplication/**"
- ".github/workflows/sonar.yaml"
env:
deployment_env: dev
accountid: ${{secrets.cdc_nbs_sandbox_shared_services_accountid}}
test_database_user: ${{secrets.DATABASE_USER}}
test_database_password: ${{secrets.DATABASE_PASSWORD}}
jobs:
pipeline:
name: Build and analyze
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: "zulu" # Alternative distribution options are available
- name: Cache SonarCloud packages
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Configure Environment Variables
run: |
github_repo_name="$(echo $GITHUB_REPOSITORY | cut -d'/' -f2)"
echo "github_repo_name=$github_repo_name" >> $GITHUB_ENV
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: "arn:aws:iam::${{ env.accountid }}:role/cdc-github-${{ env.github_repo_name }}-${{ env.deployment_env }}-role"
aws-region: us-east-1
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Login to ECR docker registry
uses: docker/login-action@v2
with:
registry: ${{ env.accountid }}.dkr.ecr.us-east-1.amazonaws.com
- name: Build and analyze
working-directory: ./
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
DATABASE_USER: ${{env.test_database_user}}
DATABASE_PASSWORD: ${{ env.test_database_password }}
run: |
./gradlew build jacocoTestReport sonar "-Dorg.gradle.jvmargs=-Xms512m -Xmx4g -XX:MaxMetaspaceSize=1g" -Dtesting.database.mssql.image=${{ env.accountid }}.dkr.ecr.us-east-1.amazonaws.com/cdc-nbs-modernization/deduplication-test-db:latest
- name: Publish Testing Reports
uses: actions/upload-artifact@v4
with:
name: testing
path: ./**/build/reports