Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
smirnovaae committed Feb 10, 2025
2 parents d57e14b + 997dbab commit 75ea428
Show file tree
Hide file tree
Showing 4 changed files with 166 additions and 2 deletions.
97 changes: 97 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Build and Publish Libraries

on:
push:
branches:
- main
pull_request:

env:
ARTIFACTORY_URL: ${{ secrets.ARTIFACTORY_URL }}

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v3

- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'

- name: Set up Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: '8.10'

- name: Build Libraries
env:
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: gradle -b build.gradle

- name: Test Libraries
env:
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: gradle clean test --info -b build.gradle

- name: Build Jars
env:
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: gradle jar --info -b build.gradle

- name: SonarQube Analysis
env:
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
gradle sonarqube \
-Dsonar.projectKey=ab2d-lib-project \
-Dsonar.host.url=https://sonarqube.cloud.cms.gov \
-Dsonar.login=${{ secrets.SONAR_TOKEN }}
- name: Quality Gate
id: quality-gate
uses: sonarsource/sonarcloud-github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
timeout-minutes: 10

- name: Generate SBOM
env:
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: gradle cyclonedxBom

- name: Publish Libraries
if: github.ref == 'refs/heads/main'
env:
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: |
# Check for artifacts to deploy
versionPublishedList=$(gradle -q lookForArtifacts)
deployScript=""
for entry in $(echo "$versionPublishedList" | tr "'''" "\n"); do
buildName=$(echo "$entry" | cut -d":" -f1)
isPublished=$(echo "$entry" | cut -d":" -f2)
if [ "$isPublished" == "false" ]; then
echo "Deploying $buildName"
deployScript+="$buildName:artifactoryPublish "
fi
done
if [ "$deployScript" != "" ]; then
gradle $deployScript -b build.gradle
else
echo "No artifacts to publish."
fi
68 changes: 68 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
iname: publish

on:
pull_request:
workflow_call:
inputs:
environment:
required: true
type: string
module:
required: true
type: string
workflow_dispatch:
inputs:
environment:
required: true
type: choice
options:
- dev
- test
module:
required: true
type: choice
options:
- api
- worker

jobs:
publish:
runs-on: self-hosted

env:
ARTIFACTORY_URL: ${{ secrets.ARTIFACTORY_URL }}
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
AWS_REGION: ${{ vars.AWS_REGION }}
DEPLOYMENT_ENV: ${{ vars[format('{0}_DEPLOYMENT_ENV', inputs.environment)] }}

steps:
- name: Checkout AB2D-Libs Repository
uses: actions/checkout@v4

- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Set up Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: '8.10'

- name: Set env vars from AWS params
uses: cmsgov/ab2d-bcda-dpc-platform/actions/aws-params-env-action@main
env:
AWS_REGION: ${{ vars.AWS_REGION }}
with:
params: |
ARTIFACTORY_URL=/artifactory/url
ARTIFACTORY_USER=/artifactory/user
ARTIFACTORY_PASSWORD=/artifactory/password
- name: Publish Libraries
run: |
echo "Publishing libraries using Gradle..."
gradle artifactoryPublish -b build.gradle --info \
-Dusername="${ARTIFACTORY_USER}" \
-Dpassword="${ARTIFACTORY_PASSWORD}" \
-Drepository_url="${ARTIFACTORY_URL}"
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ public static ObjectMapper objectMapper() {
objectMapper.registerModule(new JavaTimeModule());
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.WRAPPER_ARRAY);
return objectMapper;
}

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ ext {
bfdVersion='3.2.0'
aggregatorVersion='2.0.1'
filtersVersion='2.1.0'
eventClientVersion='3.2.4'
eventClientVersion='3.2.5'
propertiesClientVersion='2.0.0'
contractClientVersion='2.0.0'
snsClientVersion='1.0.1'
Expand Down

0 comments on commit 75ea428

Please sign in to comment.