Skip to content

Create cross-platform pt1 (#531) #359

Create cross-platform pt1 (#531)

Create cross-platform pt1 (#531) #359

Workflow file for this run

name: Release
on:
push:
branches:
- main
jobs:
changes:
runs-on: ubuntu-latest
outputs:
uli-website: ${{ steps.filter.outputs.uli-website}}
uli-server: ${{ steps.filter.outputs.uli-server }}
steps:
- uses: actions/checkout@v2
with:
ref: main
- uses: dorny/[email protected]
id: filter
with:
filters: |
uli-website:
- 'uli-website/**/*'
uli-server:
- 'browser-extension/api-server/**/*'
uli-website:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.uli-website == '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: |
pwd
cd uli-website
pwd
ls
npm install
npm run build
npm run deploy
- name: Notify on Slack
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_MESSAGE: "Deployed uli-website to production environment"
SLACK_TITLE: "deploy-production workflow complete"
SLACK_COLOR: "#020637"
SLACK_ICON: https://tattle-media.s3.amazonaws.com/monogram-dark.svg
uli-server:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.uli-server == '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/ogbv-plugin
tags: ${{ steps.vars.outputs.sha_short }}
workdir: browser-extension/api-server/
- 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/ogbv-plugin ogbv-plugin=tattletech/ogbv-plugin:${{ 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/ogbv-plugin