-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
author George MacLean <[email protected]> 1675203466 -0700 committer Shane Smith <[email protected]> 1706293936 -0600 parent 633d0cb author George MacLean <[email protected]> 1675203466 -0700 committer Shane Smith <[email protected]> 1706293885 -0600 PRODENG-1577: Push containers to ECR Amending the correct build/deploy file might not need this guy updating root URLs for testing kube deployment updating dockerfile, and fixing typo in application.rb might be easier nope adding tag release image job Updating root URLs for new DNS zone nope Rebased, added development specific release-deploy job Adding Production URLS to application.rb Renaming development job, and removing prod/development tags from primary release GH action One more push to all environments please
- Loading branch information
Showing
5 changed files
with
255 additions
and
4 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
name: Deploy-Development | ||
on: | ||
# !!Emergency override!! uncomment below and access the actions tab in GitHub to run a release/deploy | ||
# workflow_dispatch: | ||
push: | ||
branches: | ||
- develop | ||
jobs: | ||
release_deploy: | ||
name: Release and Deploy | ||
runs-on: ubuntu-latest | ||
# container: | ||
# image: ruby:2.5.9-alpine3.13 | ||
|
||
steps: | ||
|
||
# # Setup Auth token to push to github packages | ||
- name: Set NPM Config | ||
run: npm config set '//npm.pkg.github.com/:_authToken' '${{ secrets.ACCESS_TOKEN }}' | ||
|
||
# - name: Unsafe Perm set | ||
# run: npm config set unsafe-perm true | ||
|
||
- name: Add safe directory | ||
run: git config --global --add safe.directory /__w/sage-lib/sage-lib | ||
|
||
- name: Clone Sage-Lib Repo | ||
uses: actions/checkout@v2 | ||
with: | ||
# pulls all commits (needed for lerna / semantic release to correctly version) | ||
fetch-depth: "0" | ||
|
||
# Setup Git Credentials to come from the Bot | ||
- name: Set Bot Email | ||
run: git config user.email "[email protected]" | ||
|
||
- name: Set Bot Name | ||
run: git config user.name "Kajabi Automation Bot" | ||
|
||
- name: Determine git sha to checkout | ||
uses: haya14busa/action-cond@v1 | ||
id: gitsha | ||
with: | ||
cond: ${{ github.event_name == 'pull_request' }} | ||
if_true: ${{ github.event.pull_request.head.sha }} | ||
if_false: ${{ github.sha }} | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v1 | ||
with: | ||
version: v0.9.1 | ||
|
||
- name: Configure AWS credentials | ||
uses: aws-actions/configure-aws-credentials@v1 | ||
with: | ||
aws-access-key-id: ${{ secrets.SAGE_ECR_AWS_ACCESS_KEY_ID }} | ||
aws-secret-access-key: ${{ secrets.SAGE_ECR_AWS_SECRET_ACCESS_KEY }} | ||
aws-region: us-east-1 | ||
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} | ||
role-duration-seconds: 1200 | ||
role-session-name: SageECRPushSession | ||
|
||
- name: Login to Amazon ECR | ||
id: login-ecr | ||
uses: aws-actions/amazon-ecr-login@v1 | ||
|
||
- name: Set branch name if not PR | ||
if: github.event_name != 'pull_request' | ||
run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV | ||
|
||
- name: Set branch name if PR | ||
if: github.event_name == 'pull_request' | ||
run: echo "BRANCH_NAME=$(echo ${GITHUB_HEAD_REF})" >> $GITHUB_ENV | ||
|
||
- name: Set valid docker tag branch name | ||
run: echo "DOCKER_BRANCH_NAME=$(echo $BRANCH_NAME | sed "s/[^[:alnum:]\-\.\_]/-/g")-$GITHUB_RUN_NUMBER" >> $GITHUB_ENV | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Build and push docs site | ||
uses: docker/build-push-action@v2 | ||
env: | ||
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | ||
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY_SAGE_DOCS }} | ||
IMAGE_SHA_TAG: ${{ steps.gitsha.outputs.value }} | ||
with: | ||
file: ./docs/Dockerfile | ||
build-args: | | ||
GITHUB_TOKEN=${{ secrets.ACCESS_TOKEN }} | ||
context: ./docs | ||
push: true | ||
tags: | | ||
${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPOSITORY_SAGE_DOCS }}:${{ steps.gitsha.outputs.value }}-release-development | ||
- name: Build and push storybook | ||
uses: docker/build-push-action@v2 | ||
env: | ||
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | ||
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY_SAGE_STORYBOOK }} | ||
IMAGE_SHA_TAG: ${{ steps.gitsha.outputs.value }} | ||
with: | ||
file: ./packages/sage-react/Dockerfile | ||
build-args: | | ||
GITHUB_TOKEN=${{ secrets.ACCESS_TOKEN }} | ||
context: ./packages/sage-react/ | ||
push: true | ||
tags: | | ||
${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPOSITORY_SAGE_STORYBOOK }}:${{ steps.gitsha.outputs.value }}-release-development | ||
- name: Build and push sassdocs | ||
uses: docker/build-push-action@v2 | ||
env: | ||
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | ||
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY_SAGE_SASSDOCS }} | ||
IMAGE_SHA_TAG: ${{ steps.gitsha.outputs.value }} | ||
with: | ||
file: ./packages/sage-assets/Dockerfile | ||
build-args: | | ||
GITHUB_TOKEN=${{ secrets.ACCESS_TOKEN }} | ||
context: ./packages/sage-assets/ | ||
push: true | ||
tags: | | ||
${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPOSITORY_SAGE_SASSDOCS }}:${{ steps.gitsha.outputs.value }}-release-development |
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,126 @@ | ||
name: Tag Release Image | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
image_tag: | ||
description: SHA of commit to deploy | ||
required: true | ||
environment: | ||
description: Optional environment to specify release for | ||
required: false | ||
default: development | ||
jobs: | ||
tag_release_image: | ||
name: Tag and push Sage images for release | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Determine release tag suffix | ||
uses: haya14busa/action-cond@v1 | ||
id: release_tag_suffix | ||
with: | ||
cond: ${{ github.event.inputs.environment == 'production' }} | ||
if_true: 'release' | ||
if_false: 'release-${{ github.event.inputs.environment }}' | ||
|
||
- name: Configure AWS credentials | ||
uses: aws-actions/configure-aws-credentials@v1 | ||
with: | ||
aws-access-key-id: ${{ secrets.SAGE_ECR_AWS_ACCESS_KEY_ID }} | ||
aws-secret-access-key: ${{ secrets.SAGE_ECR_AWS_SECRET_ACCESS_KEY }} | ||
aws-region: us-east-1 | ||
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} | ||
role-duration-seconds: 1200 | ||
role-session-name: SageECRPushSession | ||
|
||
- name: Set up Docker Buildx | ||
id: buildx | ||
uses: docker/setup-buildx-action@v1 | ||
with: | ||
version: v0.9.1 | ||
|
||
- name: Login to Amazon ECR | ||
id: login-ecr | ||
uses: aws-actions/amazon-ecr-login@v1 | ||
|
||
- name: Retag Documentation image on ECR | ||
uses: akhilerm/[email protected] | ||
env: | ||
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | ||
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY_SAGE_DOCS }} | ||
IMAGE_TAG: ${{ github.event.inputs.image_tag }} | ||
RELEASE_TAG: ${{ github.event.inputs.image_tag }}-${{ steps.release_tag_suffix.outputs.value }} | ||
with: | ||
src: ${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY_SAGE_DOCS }}:${{ env.IMAGE_TAG }} | ||
dst: | | ||
${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY_SAGE_DOCS }}:${{ env.RELEASE_TAG }} | ||
${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY_SAGE_DOCS }}:${{ steps.release_tag_suffix.outputs.value }} | ||
- name: Retag Sassdocs image on ECR | ||
uses: akhilerm/[email protected] | ||
env: | ||
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | ||
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY_SAGE_SASSDOCS }} | ||
IMAGE_TAG: ${{ github.event.inputs.image_tag }} | ||
RELEASE_TAG: ${{ github.event.inputs.image_tag }}-${{ steps.release_tag_suffix.outputs.value }} | ||
with: | ||
src: ${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY_SAGE_SASSDOCS }}:${{ env.IMAGE_TAG }} | ||
dst: | | ||
${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY_SAGE_SASSDOCS }}:${{ env.RELEASE_TAG }} | ||
${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY_SAGE_SASSDOCS }}:${{ steps.release_tag_suffix.outputs.value }} | ||
- name: Retag Storybook image on ECR | ||
uses: akhilerm/[email protected] | ||
env: | ||
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | ||
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY_SAGE_STORYBOOK }} | ||
IMAGE_TAG: ${{ github.event.inputs.image_tag }} | ||
RELEASE_TAG: ${{ github.event.inputs.image_tag }}-${{ steps.release_tag_suffix.outputs.value }} | ||
with: | ||
src: ${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY_SAGE_STORYBOOK }}:${{ env.IMAGE_TAG }} | ||
dst: | | ||
${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY_SAGE_STORYBOOK }}:${{ env.RELEASE_TAG }} | ||
${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY_SAGE_STORYBOOK }}:${{ steps.release_tag_suffix.outputs.value }} | ||
# - name: Success Datadog event | ||
# if: success() | ||
# uses: masci/datadog@v1 | ||
# env: | ||
# ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | ||
# ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY }} | ||
# RELEASE_TAG: ${{ github.event.inputs.image_tag }}-${{ steps.release_tag_suffix.outputs.value }} | ||
# RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | ||
# with: | ||
# api-key: ${{ secrets.DATADOG_API_KEY }} | ||
# events: | | ||
# - title: "deployment.github_action.tag-release-image" | ||
# text: "%%%\n[GitHub Action Run](${{ env.RUN_URL }})\n%%%" | ||
# alert_type: "success" | ||
# host: "${{ github.runner.name }}" | ||
# tags: | ||
# - "env:${{ github.event.inputs.environment }}" | ||
# - "repository:${{ github.repository }}" | ||
# - "git.commit.sha:${{ github.event.inputs.image_tag }}" | ||
# - "image_name:${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}" | ||
# - "image_tag:${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}:${{ env.RELEASE_TAG }}" | ||
# - "short_image:${{ env.ECR_REPOSITORY }}" | ||
# - name: Failure Datadog event | ||
# if: failure() | ||
# uses: masci/datadog@v1 | ||
# env: | ||
# ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | ||
# ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY }} | ||
# RELEASE_TAG: ${{ github.event.inputs.image_tag }}-${{ steps.release_tag_suffix.outputs.value }} | ||
# RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | ||
# with: | ||
# api-key: ${{ secrets.DATADOG_API_KEY }} | ||
# events: | | ||
# - title: "deployment.github_action.tag-release-image" | ||
# text: "%%%\n[GitHub Action Run](${{ env.RUN_URL }})\n%%%" | ||
# alert_type: "error" | ||
# host: "${{ github.runner.name }}" | ||
# tags: | ||
# - "env:${{ github.event.inputs.environment }}" | ||
# - "repository:${{ github.repository }}" | ||
# - "git.commit.sha:${{ github.event.inputs.image_tag }}" | ||
# - "image_name:${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}" | ||
# - "image_tag:${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}:${{ env.RELEASE_TAG }}" | ||
# - "short_image:${{ env.ECR_REPOSITORY }}" |
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
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