Skip to content

Commit

Permalink
feat(ci): deploy clinical service SIL copy
Browse files Browse the repository at this point in the history
  • Loading branch information
Salaton committed May 23, 2023
1 parent 64e12ad commit 1581bfe
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 34 deletions.
11 changes: 3 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,13 @@ env:
COMPOSE_DOCKER_CLI_BUILD: 1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
FIREBASE_WEB_API_KEY: ${{ secrets.FIREBASE_WEB_API_KEY }}
ENVIRONMENT: ${{ secrets.ENVIRONMENT }}
SERVICE_HOST: ${{ secrets.SERVICE_HOST }}
GOOGLE_PROJECT_NUMBER: ${{ secrets.GOOGLE_PROJECT_NUMBER }}
ROOT_COLLECTION_SUFFIX: ${{ secrets.ROOT_COLLECTION_SUFFIX }}
CLOUD_HEALTH_PUBSUB_TOPIC: ${{ secrets.CLOUD_HEALTH_PUBSUB_TOPIC }}
CLOUD_HEALTH_DATASET_ID: ${{ secrets.CLOUD_HEALTH_DATASET_ID }}
OPENCONCEPTLAB_TOKEN: ${{ secrets.OPENCONCEPTLAB_TOKEN }}
OPENCONCEPTLAB_API_URL: ${{ secrets.OPENCONCEPTLAB_API_URL }}
JWT_KEY: ${{ secrets.JWT_KEY }}
CLOUD_HEALTH_FHIRSTORE_ID: ${{ secrets.CLOUD_HEALTH_FHIRSTORE_ID }}
CLOUD_HEALTH_DATASET_LOCATION: ${{ secrets.CLOUD_HEALTH_DATASET_LOCATION }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
Expand All @@ -32,7 +29,6 @@ env:
MYCAREHUB_INTROSPECT_URL: ${{ secrets.MYCAREHUB_INTROSPECT_URL }}
CLINICAL_BUCKET_NAME: ${{ secrets.CLINICAL_BUCKET_NAME }}


jobs:
golangci:
strategy:
Expand Down Expand Up @@ -65,7 +61,7 @@ jobs:
project_id: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
service_account_key: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
export_default_credentials: true

- name: Install Go
uses: actions/setup-go@v4
with:
Expand All @@ -79,10 +75,9 @@ jobs:
go install github.com/ory/go-acc
go install github.com/axw/gocov/gocov
go get github.com/savannahghi/serverutils@v0.0.7
- name: Run tests
run: |
run: |
go-acc -o coverage.txt --ignore generated,cmd,graph ./... -- -timeout 60m
grep -v "generated.go" coverage.txt | grep -v "_gen.go" | grep -v "_mock.go" | grep -v "*mock.go" | grep -v "mocks.go" | grep -v "*resolver*go" | grep -v "server.go" > coverage.out
go tool cover -html=coverage.out -o coverage.html
Expand Down
63 changes: 49 additions & 14 deletions .github/workflows/staging_multitenant.yaml
Original file line number Diff line number Diff line change
@@ -1,30 +1,27 @@
name: Staging Multitenant Deployment

on:
on:
push:
branches:
- develop-v2

env:
GKE_ZONE: europe-west1-b
GKE_PROJECT: sghi-307909
TEST_CLUSTER_NAME: sghi-apps
GKE_ZONE: ${{ secrets.GKE_ZONE }}
GKE_PROJECT: ${{ secrets.GKE_PROJECT }}
CLUSTER_NAME: ${{ secrets.CLUSTER_NAME }}
DOCKER_IMAGE_TAG: eu.gcr.io/${{ secrets.GOOGLE_CLOUD_PROJECT }}/${{ secrets.GCR_NAME }}:${{ github.sha }}
NAMESPACE: ${{ secrets.NAMESPACE }}
APP_REPLICA_COUNT: ${{ secrets.APP_REPLICA_COUNT }}
PORT: ${{ secrets.PORT }}
GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
FIREBASE_WEB_API_KEY: ${{ secrets.FIREBASE_WEB_API_KEY }}
ENVIRONMENT: ${{ secrets.ENVIRONMENT }}
SERVICE_HOST: ${{ secrets.SERVICE_HOST }}
GOOGLE_PROJECT_NUMBER: ${{ secrets.GOOGLE_PROJECT_NUMBER }}
ROOT_COLLECTION_SUFFIX: ${{ secrets.ROOT_COLLECTION_SUFFIX }}
CLOUD_HEALTH_PUBSUB_TOPIC: ${{ secrets.CLOUD_HEALTH_PUBSUB_TOPIC }}
CLOUD_HEALTH_DATASET_ID: ${{ secrets.CLOUD_HEALTH_DATASET_ID }}
CLOUD_HEALTH_DATASET_LOCATION: ${{ secrets.CLOUD_HEALTH_DATASET_LOCATION }}
OPENCONCEPTLAB_TOKEN: ${{ secrets.OPENCONCEPTLAB_TOKEN }}
OPENCONCEPTLAB_API_URL: ${{ secrets.OPENCONCEPTLAB_API_URL }}
JWT_KEY: ${{ secrets.JWT_KEY }}
CLOUD_HEALTH_FHIRSTORE_ID: ${{ secrets.CLOUD_HEALTH_FHIRSTORE_ID }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SAVANNAH_ADMIN_EMAIL: ${{ secrets.SAVANNAH_ADMIN_EMAIL }}
Expand Down Expand Up @@ -53,32 +50,70 @@ jobs:
- name: Checkout
uses: actions/checkout@v3

- id: 'auth'
uses: 'google-github-actions/auth@v0'
- id: "auth"
uses: "google-github-actions/auth@v0"
with:
credentials_json: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
project_id: ${{ secrets.GOOGLE_CLOUD_PROJECT }}

# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
gcloud --quiet auth configure-docker
- name: Build and Push Image
run: |-
docker build -t eu.gcr.io/${{ secrets.GOOGLE_CLOUD_PROJECT }}/${{ secrets.GCR_NAME }}:$GITHUB_SHA .
docker push eu.gcr.io/${{ secrets.GOOGLE_CLOUD_PROJECT }}/${{ secrets.GCR_NAME }}:$GITHUB_SHA
- name: Install Helm
run: |
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
- uses: google-github-actions/get-gke-credentials@fb08709ba27618c31c09e014e1d8364b02e5042e
with:
cluster_name: ${{ env.CLUSTER_NAME }}
location: ${{ env.GKE_ZONE }}
credentials: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}

- name: Deploy to Google Kubernetes engine
shell: bash
run: cd deploy/ && cat deploy.sh && sh deploy.sh

deploy_to_sil_aut:
name: Deploy sil copy clinical to google kubernetes engine
runs-on: ubuntu-latest
environment:
name: sil-uat

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

- id: "auth"
uses: "google-github-actions/auth@v0"
with:
credentials_json: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
project_id: ${{ secrets.GOOGLE_CLOUD_PROJECT }}

# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
- name: Build and Push Image
run: |-
docker build -t eu.gcr.io/${{ secrets.GOOGLE_CLOUD_PROJECT }}/${{ secrets.GCR_NAME }}:$GITHUB_SHA .
docker push eu.gcr.io/${{ secrets.GOOGLE_CLOUD_PROJECT }}/${{ secrets.GCR_NAME }}:$GITHUB_SHA
- name: Install Helm
run: |
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
- uses: google-github-actions/get-gke-credentials@fb08709ba27618c31c09e014e1d8364b02e5042e
with:
cluster_name: ${{ env.TEST_CLUSTER_NAME }}
cluster_name: ${{ env.CLUSTER_NAME }}
location: ${{ env.GKE_ZONE }}
credentials: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}

- name: Deploy to Google Kubernetes engine
shell: bash
run: cd deploy/ && cat deploy.sh && sh deploy.sh

9 changes: 0 additions & 9 deletions deploy/charts/clinical/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,6 @@ spec:
- name: GOOGLE_APPLICATION_CREDENTIALS
value: {{ .Values.app.container.env.googleApplicationCredentialsSecret.filePath }}

- name: FIREBASE_WEB_API_KEY
value: {{ .Values.app.container.env.firebaseWebApiKey | quote }}

- name: JWT_KEY
value: {{ .Values.app.container.env.jwtKey | quote }}

- name: GOOGLE_PROJECT_NUMBER
value: {{ .Values.app.container.env.googleProjectNumber | quote }}

Expand All @@ -64,9 +58,6 @@ spec:
- name: SENTRY_DSN
value: {{ .Values.app.container.env.sentryDSN | quote }}

- name: ROOT_COLLECTION_SUFFIX
value: {{ .Values.app.container.env.rootCollectionSuffix | quote }}

- name: CLOUD_HEALTH_PUBSUB_TOPIC
value: {{ .Values.app.container.env.cloudHealthPubsubTopic | quote }}

Expand Down
3 changes: 0 additions & 3 deletions deploy/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,9 @@ helm upgrade \
--set service.port="${PORT}"\
--set app.container.image="${DOCKER_IMAGE_TAG}"\
--set app.container.env.googleCloudProject="${GOOGLE_CLOUD_PROJECT}"\
--set app.container.env.firebaseWebApiKey="${FIREBASE_WEB_API_KEY}"\
--set app.container.env.jwtKey="${JWT_KEY}"\
--set app.container.env.environment="${ENVIRONMENT}"\
--set app.container.env.googleProjectNumber="${GOOGLE_PROJECT_NUMBER}"\
--set app.container.env.sentryDSN="${SENTRY_DSN}"\
--set app.container.env.rootCollectionSuffix="${ROOT_COLLECTION_SUFFIX}"\
--set app.container.env.cloudHealthPubsubTopic="${CLOUD_HEALTH_PUBSUB_TOPIC}"\
--set app.container.env.cloudHealthDatasetID="${CLOUD_HEALTH_DATASET_ID}"\
--set app.container.env.cloudHealthDatasetLocation="${CLOUD_HEALTH_DATASET_LOCATION}"\
Expand Down

0 comments on commit 1581bfe

Please sign in to comment.