Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta Release #2612

Closed
wants to merge 20 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions .github/workflows/cd-beta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: cd-beta

on:
push:
branches:
- beta

jobs:
# deploy_beta:
# runs-on: ubuntu-latest
# env:
# ENV: "prod"

# steps:
# # This Clean step simply checks if there's already a workflow running from the last
# # commit and cancels it if there is. This helps us save on cloud cost in the long run.
# # See https://github.com/rokroskar/workflow-run-cleanup-action for more information.
# - name: Clean
# uses: rokroskar/workflow-run-cleanup-action@v0.2.2
# env:
# GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
# if: "github.ref != 'refs/heads/master'"
# - name: Checkout Repo
# uses: actions/checkout@v2
# - name: Auth with Gcloud
# uses: google-github-actions/auth@v0
# with:
# credentials_json: ${{ secrets.GCP_DEV_SA_KEY }}
# - name: Set up Gcloud SDK
# uses: google-github-actions/setup-gcloud@v0
# with:
# project_id: zesty-prod
# - name: Set up Node
# uses: actions/setup-node@v2
# with:
# node-version: "16.5.0"
# cache: "npm"
# cache-dependency-path: package-lock.json
# - name: Install Dependencies
# run: npm install
# - name: Build
# run: npm run build:prod
# env:
# SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
# - name: Deploy to Beta
# run: gcloud app deploy app.yaml --quiet --no-promote --version beta --project zesty-prod

# failed_deploy_notification_to_slack:
# runs-on: ubuntu-latest
# if: ${{ failure() }}
# needs: deploy_beta
# steps:
# - name: Failed Deploy Notification To Slack
# uses: rtCamp/action-slack-notify@v2
# env:
# SLACK_CHANNEL: code-deploy
# SLACK_COLOR: "#FF0000"
# SLACK_ICON: https://clipart.world/wp-content/uploads/2021/06/Rocket-Ship-clipart-png.png
# SLACK_MESSAGE: "PR merge by ${{ github.actor }} failed to deploy."
# SLACK_TITLE: FAILED Beta Deployment for manager-ui
# SLACK_USERNAME: Deploy Bot
# SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

# success_deploy_notification_to_slack:
# runs-on: ubuntu-latest
# if: ${{ success() }}
# needs: [deploy_beta]
# steps:
# - name: Success Deploy Notification To Slack
# uses: rtCamp/action-slack-notify@v2
# env:
# SLACK_CHANNEL: code-deploy
# SLACK_COLOR: "#FF0000"
# SLACK_ICON: https://clipart.world/wp-content/uploads/2021/06/Rocket-Ship-clipart-png.png
# SLACK_MESSAGE: "PR merge by ${{ github.actor }} has been deployed to stage."
# SLACK_TITLE: Beta Deployment for manager-ui
# SLACK_USERNAME: Deploy Bot
# SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

create_stable_pr:
runs-on: ubuntu-latest
# needs: [deploy_beta]
steps:
- name: Checkout Repo
uses: actions/checkout@v2

- name: Check if PR exists
id: check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
prs=$(gh pr list \
--repo "$GITHUB_REPOSITORY" \
--head 'beta' \
--base 'stable' \
--json title \
--jq 'length')
if ((prs > 0)); then
echo "skip=true" >> "$GITHUB_OUTPUT"
fi

- name: Create Stable Release
if: "!steps.check.outputs.skip"
run: gh pr create -B stable -H dev --title 'Stable Release' --body 'Created by Github action'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
108 changes: 108 additions & 0 deletions .github/workflows/cd-dev.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: cd-dev

on:
# Uncomment to work on CD in development mode.
# pull_request:
# branches: [ master ]
push:
branches:
- dev
jobs:
deploy_dev:
runs-on: ubuntu-latest
env:
ENV: "dev"

steps:
# This Clean step simply checks if there's already a workflow running from the last
# commit and cancels it if there is. This helps us save on cloud cost in the long run.
# See https://github.com/rokroskar/workflow-run-cleanup-action for more information.
- name: Clean
uses: rokroskar/workflow-run-cleanup-action@v0.2.2
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
if: "github.ref != 'refs/heads/master'"
- name: Checkout Repo
uses: actions/checkout@v2
- name: Auth with Gcloud
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_DEV_SA_KEY }}
- name: Set up Gcloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
project_id: zesty-dev
- name: Set up Node
uses: actions/setup-node@v2
with:
node-version: "16.5.0"
cache: "npm"
cache-dependency-path: package-lock.json
- name: Install Dependencies
run: npm install
- name: Build
run: npm run build:dev
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- name: Deploy to Dev
run: gcloud app deploy app.yaml --quiet --project zesty-dev

failed_deploy_notification_to_slack:
runs-on: ubuntu-latest
if: ${{ failure() }}
needs: [deploy_dev]
steps:
- name: Failed Deploy Notification To Slack
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: code-deploy
SLACK_COLOR: "#FF2A08"
SLACK_ICON: https://brand.zesty.io/zesty-io-logo.svg
SLACK_MESSAGE: "PR merge by ${{ github.actor }} failed to deploy."
SLACK_TITLE: "FAILED: Dev Deployment for manager-ui"
SLACK_USERNAME: Deploy Bot
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

success_deploy_notification_to_slack:
runs-on: ubuntu-latest
if: ${{ success() }}
needs: [deploy_dev]
steps:
- name: Success Deploy Notification To Slack
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: code-deploy
SLACK_COLOR: "#75BF43"
SLACK_ICON: https://brand.zesty.io/zesty-io-logo.svg
# SLACK_MESSAGE: "PR merge by ${{ github.actor }} has been deployed to stage."
SLACK_TITLE: "SUCCESS: Dev Deployment of manager-ui"
SLACK_USERNAME: Deploy Bot
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

create_stage_pr:
runs-on: ubuntu-latest
needs: [deploy_dev]
steps:
- name: Checkout Repo
uses: actions/checkout@v2

- name: Check if PR exists
id: check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
prs=$(gh pr list \
--repo "$GITHUB_REPOSITORY" \
--head 'dev' \
--base 'stage' \
--json title \
--jq 'length')
if ((prs > 0)); then
echo "skip=true" >> "$GITHUB_OUTPUT"
fi

- name: Create Stage Release
if: "!steps.check.outputs.skip"
run: gh pr create -B stage -H dev --title 'Stage Release' --body 'Created by Github action'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
78 changes: 78 additions & 0 deletions .github/workflows/cd-stable.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: cd-stable

on:
push:
branches:
- stable

jobs:
# deploy_stable:
# runs-on: ubuntu-latest
# env:
# ENV: "prod"

# steps:
# # This Clean step simply checks if there's already a workflow running from the last
# # commit and cancels it if there is. This helps us save on cloud cost in the long run.
# # See https://github.com/rokroskar/workflow-run-cleanup-action for more information.
# - name: Clean
# uses: rokroskar/workflow-run-cleanup-action@v0.2.2
# env:
# GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
# if: "github.ref != 'refs/heads/master'"
# - name: Checkout Repo
# uses: actions/checkout@v2
# - name: Auth with Gcloud
# uses: google-github-actions/auth@v0
# with:
# credentials_json: ${{ secrets.GCP_DEV_SA_KEY }}
# - name: Set up Gcloud SDK
# uses: google-github-actions/setup-gcloud@v0
# with:
# project_id: zesty-prod
# - name: Set up Node
# uses: actions/setup-node@v2
# with:
# node-version: "16.5.0"
# cache: "npm"
# cache-dependency-path: package-lock.json
# - name: Install Dependencies
# run: npm install
# - name: Build
# run: npm run build:prod
# env:
# SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
# - name: Deploy Stable
# run: gcloud app deploy app.yaml --quiet --project zesty-prod

# failed_deploy_notification_to_slack:
# runs-on: ubuntu-latest
# if: ${{ failure() }}
# needs: deploy_stable
# steps:
# - name: Failed Deploy Notification To Slack
# uses: rtCamp/action-slack-notify@v2
# env:
# SLACK_CHANNEL: code-deploy
# SLACK_COLOR: "#FF0000"
# SLACK_ICON: https://clipart.world/wp-content/uploads/2021/06/Rocket-Ship-clipart-png.png
# SLACK_MESSAGE: "PR merge by ${{ github.actor }} failed to deploy."
# SLACK_TITLE: FAILED Stable Deployment for manager-ui
# SLACK_USERNAME: Deploy Bot
# SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

# success_deploy_notification_to_slack:
# runs-on: ubuntu-latest
# if: ${{ success() }}
# needs: [deploy_stable]
# steps:
# - name: Success Deploy Notification To Slack
# uses: rtCamp/action-slack-notify@v2
# env:
# SLACK_CHANNEL: code-deploy
# SLACK_COLOR: "#FF0000"
# SLACK_ICON: https://clipart.world/wp-content/uploads/2021/06/Rocket-Ship-clipart-png.png
# SLACK_MESSAGE: "PR merge by ${{ github.actor }} has been deployed to stage."
# SLACK_TITLE: Stable Deployment for manager-ui
# SLACK_USERNAME: Deploy Bot
# SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
Loading
Loading