Skip to content

CORE-69: Minor and patch updates - terra-cloud-resource-lib to 1.2.41… #6906

CORE-69: Minor and patch updates - terra-cloud-resource-lib to 1.2.41…

CORE-69: Minor and patch updates - terra-cloud-resource-lib to 1.2.41… #6906

Workflow file for this run

# Github action to Run Unit Tests and Publish Sam Client
name: Run Unit Tests and Publish Client
on:
pull_request:
paths-ignore: ['**.md']
push:
branches:
- develop
paths-ignore: ['**.md']
jobs:
run-unit-tests:
runs-on: ubuntu-latest
env:
SBT_OPTS: >-
-Xmx3g
-Denv.type=test
-Dpostgres.host=localhost -Dpostgres.port=5432
services:
postgres:
image: postgres:15
env:
POSTGRES_USER: sam-test
POSTGRES_PASSWORD: sam-test
POSTGRES_DB: testdb
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- uses: sbt/setup-sbt@v1
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- name: Git secrets setup
run: |
git clone https://github.com/awslabs/git-secrets.git ~/git-secrets
cd ~/git-secrets
git checkout ad82d68ee924906a0401dfd48de5057731a9bc84
sudo make install
- name: Secrets check
run: |
sudo ln -s "$(which echo)" /usr/local/bin/say
./minnie-kenny.sh --force
git secrets --scan-history
- name: Run Scalafmt Check
id: scalafmtCheck
run: sbt scalafmtCheckAll scalafmtSbtCheck
- name: Run unit tests and generate coverage report
id: coverageReport
run: source env/test.env; sbt coverage "testOnly --" coverageReport
tag:
uses: ./.github/workflows/tag.yml
with:
release-branches: develop
secrets: inherit
generateAndPublishClient:
runs-on: ubuntu-latest
needs: [ tag, run-unit-tests ]
permissions:
contents: 'read'
id-token: 'write'
env:
SBT_OPTS: -Xmx3g
steps:
- uses: actions/checkout@v4
- uses: sbt/setup-sbt@v1
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- name: Generate java client
id: generateJavaClient
run: bash scripts/gen_java_client.sh
- name: Authenticate to GCP
uses: google-github-actions/auth@v2
with:
token_format: access_token
workload_identity_provider: 'projects/1038484894585/locations/global/workloadIdentityPools/github-wi-pool/providers/github-wi-provider'
service_account: 'dsp-artifact-registry-push@dsp-artifact-registry.iam.gserviceaccount.com'
- name: Publish java client for merge to develop branch
working-directory: codegen_java
id: publishJavaClient
if: ${{ github.ref_name == 'develop' }}
run: sbt "+ publish" -Dproject.isSnapshot=false -Dproject.semVer=${{ needs.tag.outputs.tag }}
- name: Publish java client as snapshot for PRs
working-directory: codegen_java
id: publishJavaClientSnapshot
if: ${{ github.ref_name != 'develop' }}
run: sbt "+ publish" -Dproject.isSnapshot=true -Dproject.semVer=${{ needs.tag.outputs.tag }}