Skip to content

Update avro mapping for VI event #23

Update avro mapping for VI event

Update avro mapping for VI event #23

name: Build & Deploy to PROD
on:
pull_request:
types: [opened, reopened,edited,synchronize]
branches:
- 'main'
permissions: write-all
jobs:
run_unit_test:
name: Run Unit Tests
runs-on: ubuntu-latest
# needs: create_env_secrets
environment: pr
env:
APP_ACCEPTED_EVENT_TOPIC: ${{ secrets.APP_ACCEPTED_EVENT_TOPIC }}
PAYRECVD_EVENT_TOPIC: ${{ secrets.PAYRECVD_EVENT_TOPIC }}
REVSCHED_EVENT_TOPIC: ${{ secrets.REVSCHED_EVENT_TOPIC }}
TEST_EVENT_TOPIC: ${{ secrets.TEST_EVENT_TOPIC }}
DISCLOSURE_EVENT_TOPIC: ${{ secrets.DISCLOSURE_EVENT_TOPIC }}
EVSUBMITTED_EVENT_TOPIC: ${{ secrets.EVSUBMITTED_EVENT_TOPIC }}
KAFKA_SASL_CONFIG: ${{ secrets.KAFKA_SASL_CONFIG }}
KAFKA_SASL_MECH: ${{ secrets.KAFKA_SASL_MECH }}
KAFKA_SCHEMA_REGISTRY: ${{ secrets.KAFKA_SCHEMA_REGISTRY }}
KAFKA_SEC_PROTOCOL: ${{ secrets.KAFKA_SEC_PROTOCOL }}
KAFKA_SERVER: ${{ secrets.KAFKA_SERVER }}
SSL_PROTOCOL: ${{ secrets.SSL_PROTOCOL }}
SSL_TRUSTSTORE: ${{ secrets.SSL_TRUSTSTORE }}
SSL_TRUSTTORE_PASS: ${{ secrets.SSL_TRUSTTORE_PASS }}
SSL_TRUSTTORE_TYPE: ${{ secrets.SSL_TRUSTTORE_TYPE }}
KAFKA_CONFLUENT_COMPAT_REGISTRY: ${{ secrets.KAFKA_CONFLUENT_COMPAT_REGISTRY }}
APP_ACCEPTED_EVENT_DECODED_TOPIC: ${{ secrets.APP_ACCEPTED_EVENT_DECODED_TOPIC }}
DISCLOSURE_EVENT_DECODED_TOPIC: ${{ secrets.DISCLOSURE_EVENT_DECODED_TOPIC }}
EVSUBMITTED_EVENT_DECODED_TOPIC: ${{ secrets.EVSUBMITTED_EVENT_DECODED_TOPIC }}
PAYRECVD_EVENT_DECODED_TOPIC: ${{ secrets.PAYRECVD_EVENT_DECODED_TOPIC }}
REVSCHED_EVENT_DECODED_TOPIC: ${{ secrets.REVSCHED_EVENT_DECODED_TOPIC }}
TEST_EVENT_SINK_TOPIC: ${{ secrets.TEST_EVENT_SINK_TOPIC }}
ISSUANCE_EVENT_TOPIC: ${{ secrets.ISSUANCE_EVENT_TOPIC }}
PAYMENT_EVENT_TOPIC: ${{ secrets.PAYMENT_EVENT_TOPIC }}
DISPUTE_EVENT_TOPIC: ${{ secrets.DISPUTE_EVENT_TOPIC }}
DISPUTE_UPDATE_EVENT_TOPIC: ${{ secrets.DISPUTE_UPDATE_EVENT_TOPIC }}
VIOLATIONS_EVENT_TOPIC: ${{ secrets.VIOLATIONS_EVENT_TOPIC }}
PAYQUERY_EVENT_TOPIC: ${{ secrets.PAYQUERY_EVENT_TOPIC }}
RECON_SVC_HOST: ${{ secrets.RECON_SVC_HOST }}
RECON_PORT: "5000"
RECON_HOST: "localhost"
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: 17
distribution: "temurin"
- name: Authenticate and set context for dev get cluster ca
uses: redhat-actions/oc-login@v1.2
with:
openshift_server_url: ${{ secrets.OPENSHIFT_SERVER_URL_SILVER }}
openshift_token: ${{ secrets.OPENSHIFT_SA_PIPELINE_TOKEN_SILVER_DEV }}
namespace: "${{ secrets.OPENSHIFT_LICENSE_PLATE_SILVER }}-dev"
- name: Get Cluster ca secret for build
run: |
oc get secret ${{ secrets.CLUSTER_CA_SECRET_NAME }} -o jsonpath='{.data.ca\.p12}' | base64 -d -i > ca.p12
pwd
ls -a
- name: Run Unit Tests
run: |
cd src
chmod +x ./gradlew
./gradlew test
ls build/test-results
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
if: success() || failure()
with:
report_paths: './src/build/test-results/test/TEST-*.xml'
build:
runs-on: ubuntu-latest
if: (startsWith(github.event.pull_request.head.ref, 'release/')) || (startsWith(github.event.pull_request.head.ref, 'release'))
environment: prod
env:
DOCKER_IMAGE_TAG: ${{ github.sha}}
DOCKER_CONTEXT_FOLDER: src
DOCKER_IMAGE_NAME: rbe5-images/ride-consumer-service-prod
DOCKER_FILE: src/Dockerfile.multistage
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Authenticate and set context for prod get cluster ca
uses: redhat-actions/oc-login@v1.2
with:
openshift_server_url: ${{ secrets.OPENSHIFT_SERVER_URL_SILVER }}
openshift_token: ${{ secrets.OPENSHIFT_SA_PIPELINE_TOKEN_SILVER_PROD }}
namespace: "${{ secrets.OPENSHIFT_LICENSE_PLATE_SILVER }}-prod"
- name: Get Cluster ca secret for build
run: |
oc get secret ${{ secrets.CLUSTER_CA_SECRET_NAME }} -o jsonpath='{.data.ca\.p12}' | base64 -d -i > src/certs/ca.p12
pwd
ls src
- name: Setup
uses: docker/setup-buildx-action@v2
with:
install: true
- name: Login
uses: docker/login-action@v2
with:
registry: ${{ secrets.DOCKER_REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build
uses: docker/build-push-action@v3
with:
context: ${{ env.DOCKER_CONTEXT_FOLDER }}
file: ${{ env.DOCKER_FILE }}
push: true
tags: ${{ secrets.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ env.DOCKER_IMAGE_TAG }}
build-args: |
APP_ACCEPTED_EVENT_TOPIC=""
PAYRECVD_EVENT_TOPIC=""
REVSCHED_EVENT_TOPIC=""
TEST_EVENT_TOPIC=""
DISCLOSURE_EVENT_TOPIC=""
EVSUBMITTED_EVENT_TOPIC=""
KAFKA_SASL_CONFIG=""
KAFKA_SASL_MECH=""
KAFKA_SCHEMA_REGISTRY=""
KAFKA_SEC_PROTOCOL=${{ secrets.KAFKA_SEC_PROTOCOL }}
KAFKA_SERVER=""
SSL_PROTOCOL=${{ secrets.SSL_PROTOCOL }}
SSL_TRUSTSTORE=""
SSL_TRUSTTORE_PASS=""
SSL_TRUSTTORE_TYPE=""
KAFKA_CONFLUENT_COMPAT_REGISTRY=""
CLUSTER_CA_SECRET_NAME=""
APP_ACCEPTED_EVENT_DECODED_TOPIC: ""
DISCLOSURE_EVENT_DECODED_TOPIC: ""
EVSUBMITTED_EVENT_DECODED_TOPIC: ""
PAYRECVD_EVENT_DECODED_TOPIC: ""
REVSCHED_EVENT_DECODED_TOPIC: ""
TEST_EVENT_SINK_TOPIC: ""
ISSUANCE_EVENT_TOPIC: ""
PAYMENT_EVENT_TOPIC: ""
DISPUTE_EVENT_TOPIC: ""
DISPUTE_UPDATE_EVENT_TOPIC: ""
VIOLATIONS_EVENT_TOPIC: ""
PAYQUERY_EVENT_TOPIC: ""
RECON_SVC_HOST: ""
RECON_PORT: ""
RECON_HOST: ""
deploy_prod_argocd:
name: Push to Gitops repo for prod deployment via Argocd
runs-on: ubuntu-latest
needs: [build]
env:
PR_NUMBER: ${{ github.event.number }}
PR_IMAGE_STREAM_TAG: ${{ github.sha}}
RELEASE_NAME: release_1_0_2
steps:
- name: Checkout Gitops repository
uses: actions/checkout@v3
with:
repository: bcgov-c/tenant-gitops-be5301
ref: deployment/rsbc-ride-consumer-module
token: ${{ secrets.GITOPS_GITHUB_TOKEN }}
- name: Update Image tag for prod deploy
uses: mikefarah/yq@v4.28.1
with:
cmd: yq eval -i '.images[0].newTag = "${{env.PR_IMAGE_STREAM_TAG}}"' 'overlays/prod/kustomization.yaml'
- name: Update release name for prod deploy
uses: mikefarah/yq@v4.28.1
with:
cmd: yq eval -i '.commonAnnotations.release_name = "${{env.RELEASE_NAME}}"' 'overlays/prod/kustomization.yaml'
- name: Update sha annotation
uses: mikefarah/yq@v4.28.1
with:
cmd: yq eval -i '.commonAnnotations.commit_sha = "${{env.PR_IMAGE_STREAM_TAG}}"' 'overlays/prod/kustomization.yaml'
- name: Check Changed value
run: |
cat overlays/prod/kustomization.yaml
- name: Push Changes
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "updated prod deploy details to prod overlay yaml"
git push -u origin deployment/rsbc-ride-consumer-module