-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update Github action to use helm path and add new action to deploy to…
… non prod
- Loading branch information
1 parent
25e3cdd
commit a05b3ea
Showing
3 changed files
with
160 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,153 @@ | ||
name: deploy_nonProd | ||
on: | ||
workflow_dispatch: | ||
branches: | ||
- feature/* | ||
- release/* | ||
- hotfix/* | ||
- develop | ||
inputs: | ||
validator: | ||
required: true | ||
description: 'Please select env you want to deploy the version' | ||
default: dev | ||
type: choice | ||
options: | ||
- dev | ||
- sbx | ||
jobs: | ||
build_local: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Configure AWS Credentials to SBX | ||
uses: aws-actions/configure-aws-credentials@v4 | ||
if: inputs.validator == 'sbx' | ||
with: | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_NONPROD }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_NONPROD }} | ||
aws-region: ${{ secrets.AWS_REGION_NONPROD }} | ||
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_NONPROD }}:role/Developers | ||
role-skip-session-tagging: true | ||
role-duration-seconds: 1800 | ||
|
||
- name: Configure AWS Kubeconfig Credentials to SBX | ||
if: inputs.validator == 'sbx' | ||
run: | | ||
aws --region ${{ secrets.AWS_REGION_NONPROD }} eks update-kubeconfig --kubeconfig ~/.kube/config-staging --name ${{ secrets.CLUSTER_NAME_NONPROD }} | ||
- name: Get sbx image tag | ||
id: sbx_tag | ||
if: inputs.validator == 'sbx' | ||
run: | | ||
export SBX_TAG=$(kubectl --kubeconfig ~/.kube/config-staging get deployments -n sandbox sanctuary-api-bsc01 -o=jsonpath='{$$.spec.template.spec.containers[:1].image}' | awk -F':' '{print $2}') | ||
echo "The tag is: $SBX_TAG" | ||
echo "tag=$SBX_TAG" >> $GITHUB_OUTPUT | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Configure AWS Credentials | ||
uses: aws-actions/configure-aws-credentials@v4 | ||
with: | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_ECR }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_ECR }} | ||
aws-region: ${{ secrets.AWS_REGION }} | ||
|
||
- name: Log in to Amazon ECR | ||
id: login-ecr | ||
uses: aws-actions/amazon-ecr-login@v1 | ||
|
||
- name: Extract Docker-image params | ||
id: docker-params | ||
env: | ||
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | ||
run: | | ||
export IMAGE="$ECR_REGISTRY/sanctuary" | ||
echo "image=$IMAGE" >> $GITHUB_OUTPUT | ||
- name: Build and push to develop1 | ||
uses: docker/build-push-action@v6 | ||
if: inputs.validator == 'dev' | ||
with: | ||
context: . | ||
platforms: | | ||
linux/amd64 | ||
linux/arm64 | ||
push: true | ||
tags: | | ||
${{ steps.docker-params.outputs.image }}:develop | ||
- name: Build and push to sbx | ||
uses: docker/build-push-action@v6 | ||
if: inputs.validator == 'sbx' | ||
with: | ||
context: . | ||
platforms: | | ||
linux/amd64 | ||
linux/arm64 | ||
push: true | ||
tags: | | ||
${{ steps.docker-params.outputs.image }}:${{ steps.sbx_tag.outputs.tag }} | ||
- name: Log out of Amazon ECR | ||
if: always() | ||
run: docker logout ${{ steps.login-ecr.outputs.registry }} | ||
|
||
restart_deployments: | ||
runs-on: ubuntu-latest | ||
needs: build_local | ||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Configure AWS Credentials to non-prod | ||
uses: aws-actions/configure-aws-credentials@v4 | ||
with: | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_NONPROD }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_NONPROD }} | ||
aws-region: ${{ secrets.AWS_REGION_NONPROD }} | ||
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_NONPROD }}:role/Developers | ||
role-skip-session-tagging: true | ||
role-duration-seconds: 1800 | ||
|
||
- name: Configure AWS Kubeconfig Credentials to non_prod | ||
run: | | ||
aws --region ${{ secrets.AWS_REGION_NONPROD }} eks update-kubeconfig --kubeconfig ~/.kube/config-staging --name ${{ secrets.CLUSTER_NAME_NONPROD }} | ||
- name: Restart deployments to take last Image | ||
run: | | ||
if [ "${{ inputs.validator }}" == "dev" ]; then | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-api-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-api-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-foreign-chain-worker-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-foreign-chain-worker-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-metrics-worker-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-metrics-worker-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-resolver-worker-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-resolver-worker-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-sync-worker-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-sync-worker-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-scheduler-bsc01 -n dev | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-scheduler-bsc01 -n dev | ||
fi | ||
if [ "${{ inputs.validator }}" == "sbx" ]; then | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-api-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-api-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-foreign-chain-worker-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-foreign-chain-worker-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-metrics-worker-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-metrics-worker-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-resolver-worker-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-resolver-worker-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-sync-worker-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-sync-worker-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-scheduler-bsc01 -n sandbox | ||
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-scheduler-bsc01 -n sandbox | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters