Merge pull request #120 from DAOsign/DAOS-985 #17
Workflow file for this run
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
name: Build & Push UAT Release | |
on: | |
push: | |
tags: ["uat-v*.*.*"] | |
env: | |
DO_CONTAINER_REGISTRY: "daosign-container-registry" | |
jobs: | |
build: | |
name: Run docker build | |
runs-on: ubuntu-latest | |
outputs: | |
image_tag: ${{steps.vars.outputs.tag}} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Get the version | |
id: vars | |
run: echo "tag=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_OUTPUT | |
- name: Build the Docker image | |
run: | | |
docker build -t uat-frontend:${{steps.vars.outputs.tag}} \ | |
--build-arg NEXT_PUBLIC_REST_ENDPOINT="https://api.uat.daosign.org" \ | |
--build-arg NEXT_PUBLIC_GRAPHQL_ENDPOINT="https://api.uat.daosign.org/graphql" \ | |
--build-arg NEXT_PUBLIC_PINATA_GATEWAY="https://daosign.mypinata.cloud" \ | |
. | |
- name: Install doctl | |
uses: digitalocean/action-doctl@v2 | |
with: | |
token: ${{ secrets.DO_ACCESS_TOKEN }} | |
- name: Log in to DigitalOcean Container Registry | |
run: doctl registry login --expiry-seconds 600 | |
- name: Tag image | |
run: | | |
docker tag uat-frontend:${{ steps.vars.outputs.tag }} \ | |
registry.digitalocean.com/${{ env.DO_CONTAINER_REGISTRY }}/uat-frontend:${{ steps.vars.outputs.tag }} | |
- name: Push to DigitalOcean Container Registry | |
run: | | |
docker push registry.digitalocean.com/${{ env.DO_CONTAINER_REGISTRY }}/uat-frontend:${{ steps.vars.outputs.tag }} | |
deploy: | |
name: Run helm upgrade | |
runs-on: ubuntu-latest | |
needs: [build] | |
env: | |
# Ingress | |
HOST: "uat.daosign.org" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Create & View .env.yaml file | |
id: create-env | |
run: | | |
cat << EOF > .env.yaml | |
{ | |
"ingress": { | |
"host": "${{ env.HOST }}" | |
} | |
} | |
EOF | |
- name: Install doctl | |
uses: digitalocean/action-doctl@v2 | |
with: | |
token: ${{ secrets.DO_ACCESS_TOKEN }} | |
- name: Save DigitalOcean kubeconfig | |
run: doctl kubernetes cluster kubeconfig save daosign-kubernetes-cluster-dev | |
- name: Helm deploy the latest image | |
env: | |
NAMESPACE: "uat" | |
HELM_VERSION: 1.3.0 | |
run: | | |
doctl registry login --expiry-seconds 600 && \ | |
kubectl get pods -n ${{ env.NAMESPACE }} && helm ls -n ${{ env.NAMESPACE }} && \ | |
helm upgrade helm-frontend -i -n ${{ env.NAMESPACE }} --atomic -f .env.yaml oci://registry.digitalocean.com/${{ env.DO_CONTAINER_REGISTRY }}/helm-frontend --version $HELM_VERSION \ | |
--set=frontend.image.repository=registry.digitalocean.com/${{ env.DO_CONTAINER_REGISTRY }}/uat-frontend,frontend.image.tag=${{needs.build.outputs.image_tag}} && \ | |
helm ls -n ${{ env.NAMESPACE }} && kubectl get pods -n ${{ env.NAMESPACE }} |