Managing API Keys-Update (#822) #686
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: Staging CI/CD | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
env: | |
BASE_IMAGE: ghcr.io/graphprotocol/graph-docs-staging | |
HEALTH_CHECK_URL: https://staging.thegraph.com/docs | |
APP_NAME: graph-docs | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Check out the repo | |
uses: actions/checkout@v4 | |
- name: Log in to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push Docker image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . # required to respect .dockerignore | |
cache-from: type=registry,ref=${{ env.BASE_IMAGE }}:latest | |
cache-to: type=inline | |
build-args: | | |
ENVIRONMENT=staging | |
tags: | | |
${{ env.BASE_IMAGE }}:${{ github.sha }} | |
${{ env.BASE_IMAGE }}:latest | |
push: true | |
deploy: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Check out the repo | |
uses: actions/checkout@v4 | |
- name: Authenticate to GCP | |
uses: google-github-actions/auth@v2 | |
with: | |
credentials_json: ${{ secrets.GCP_THE_GRAPH_STAGING }} | |
- name: Set up kubectl | |
uses: google-github-actions/get-gke-credentials@v2 | |
with: | |
cluster_name: hosted-service | |
location: us-central1-a | |
- name: Set a new k8s image and apply the manifests | |
run: .github/scripts/kustomize-apply.sh staging $APP_NAME=$BASE_IMAGE:$GITHUB_SHA | |
- name: Wait for pods to be ready | |
run: .github/scripts/kubectl-wait-ready.sh $APP_NAME | |
- name: Check the endpoints | |
run: .github/scripts/npx-wait-on/run.sh $HEALTH_CHECK_URL |