Skip to content

chore: testing

chore: testing #30

Workflow file for this run

name: Release
on:
push:
branches:
- main
jobs:
changes:
runs-on: ubuntu-latest
outputs:
backend: ${{ steps.filter.outputs.backend }}
frontend: ${{ steps.filter.outputs.frontend }}
steps:
- uses: actions/checkout@v2
with:
ref: main
- uses: dorny/[email protected]
id: filter
with:
filters: |
backend:
- 'src/backend/**/*'
frontend:
- 'src/frontend/**/*'
backend:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.backend == 'true' }}
steps:
- uses: actions/checkout@v2
with:
ref: main
- name: Declare some variables
id: vars
shell: bash
run: |
echo "setting variables"
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
- name: Publish to Docker
uses: elgohr/Publish-Docker-Github-Action@master
with:
username: tattletech
password: ${{ secrets.DOCKER_PASSWORD }}
name: tattletech/kosh-server
tags: ${{ steps.vars.outputs.sha_short }}
workdir: src/backend/
- name: deploy to cluster
uses: steebchen/[email protected]
with: # defaults to latest kubectl binary version
config: ${{ secrets.PROD_KUBE_CONFIG_DATA }}
command: set image --record deployment/kosh-server kosh-server=tattletech/kosh-server:${{ steps.vars.outputs.sha_short }}
- name: verify deployment
uses: steebchen/[email protected]
with:
config: ${{ secrets.PROD_KUBE_CONFIG_DATA }}
version: v1.21.0 # specify kubectl binary version explicitly
command: rollout status deployment/kosh-server
- name: Notify on Slack
uses: rtCamp/[email protected]
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_MESSAGE: "Deployed Kosh to production environment"
SLACK_TITLE: "staging-production workflow complete"
SLACK_COLOR: "#020637"
SLACK_ICON: https://tattle-media.s3.amazonaws.com/monogram-dark.svg
frontend:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.frontend == 'true' }}
steps:
- uses: actions/checkout@v2
with:
ref: main
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-south-1
- name: Install Packages
run: |
cd src/frontend
npm install --legacy-peer-deps
- name: Build Site
run: |
cd src/frontend
npm run build
- name: Deploy Site
run: |
cd src/frontend
npm run deploy
- name: Notify on Slack
uses: rtCamp/[email protected]
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_MESSAGE: "Deployed Kosh Frontend to production environment"
SLACK_TITLE: "Deploy Kosh Frontend Workflow Complete"
SLACK_COLOR: "#020637"
SLACK_ICON: https://tattle-media.s3.amazonaws.com/monogram-dark.svg