Skip to content

build-gf

build-gf #25

Workflow file for this run

name: Build-gf
run-name: build-gf
on:
workflow_call:
workflow_dispatch:
jobs:
build:
runs-on: codebuild-ab2d-contracts-${{github.run_id}}-${{github.run_attempt}}
env:
ECR_REPO: ab2d-contracts
TAG_PREFIX: contracts-service
AWS_ACCOUNT: ${{ secrets.GF_NON_PROD_ACCOUNT }}
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
with:
distribution: 'adopt'
java-version: '17'
- uses: gradle/actions/setup-gradle@0bdd871935719febd78681f197cd39af5b6e16a6 # v4.2.2
with:
gradle-version: 8.4
- uses: cmsgov/ab2d-bcda-dpc-platform/actions/aws-params-env-action@main
with:
params: |
ARTIFACTORY_URL=/artifactory/url
ARTIFACTORY_USER=/artifactory/user
ARTIFACTORY_PASSWORD=/artifactory/password
- name: Assume role in target account
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
with:
aws-region: ${{ vars.AWS_REGION }}
role-to-assume: arn:aws:iam::${{ env.AWS_ACCOUNT }}:role/delegatedadmin/developer/ab2d-dev-github-actions
- name: Build libraries
run: |
gradle -b build.gradle bootJar -Dset.root.project.build.filename=true
- name: Build and push docker image
run: |
ECR_DOMAIN="$AWS_ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com"
SHA_SHORT=$(git rev-parse --short HEAD)
aws ecr get-login-password | docker login --username AWS --password-stdin $ECR_DOMAIN
ECR_URI="$ECR_DOMAIN/$ECR_REPO"
if [ "$GITHUB_REF_NAME" == "main" ]; then
TAG_SHORT="$TAG_PREFIX-main-$SHA_SHORT"
else
TAG_SHORT="$TAG_PREFIX-$GITHUB_REF_NAME"
fi
docker build -t "$ECR_URI:$TAG_SHORT" .
docker push "$ECR_URI" --all-tags
echo "Published **$ECR_URI:$TAG_SHORT**" >> $GITHUB_STEP_SUMMARY