Fikser OrganisationStructure #55
Workflow file for this run
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: Deploy - Prod | |
on: | |
release: | |
types: [published] | |
workflow_dispatch: | |
jobs: | |
deploy_server: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up node 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
- 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: eu-central-1 | |
- name: Install serverless | |
run: npm install -g serverless@3.25.1 | |
- name: Install server dependencies | |
run: yarn workspaces focus server | |
- uses: softprops/turnstyle@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Deploy server | |
run: serverless deploy --stage prod | |
deploy_web: | |
runs-on: ubuntu-latest | |
needs: deploy_server | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up node 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
- 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: eu-central-1 | |
- name: Install dependencies | |
working-directory: apps/web | |
run: yarn install | |
- uses: softprops/turnstyle@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build web | |
working-directory: apps/web | |
run: yarn predeploy:prod | |
- name: Deploy web | |
working-directory: apps/web | |
run: yarn deploy:prod | |
- name: Update invalidation | |
working-directory: apps/web | |
run: yarn postdeploy:prod | |
slackNotification: | |
if: ${{ always() }} | |
needs: [deploy_server, deploy_web] | |
name: Slack Notification | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Slack Notification | |
uses: rtCamp/action-slack-notify@v2 | |
env: | |
SLACK_CHANNEL: folk_deployments | |
SLACK_COLOR: ${{ (needs.deploy_server.result == 'success' && needs.deploy_web.result == 'success') && '#00FF00' || '#FF0000' }} | |
SLACK_ICON: https://github.com/rtCamp.png?size=48 | |
SLACK_USERNAME: Folk Deployments | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }} |