mirror of
https://github.com/standardnotes/web.git
synced 2024-10-27 16:31:40 +03:00
84 lines
2.2 KiB
YAML
84 lines
2.2 KiB
YAML
name: Web Server TestFlight
|
|
|
|
concurrency:
|
|
group: dev_environment
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
- name: Install dependencies
|
|
run: yarn install
|
|
- name: ESLint
|
|
run: yarn lint
|
|
- name: Build
|
|
run: yarn build:web-server
|
|
- name: Test
|
|
run: yarn test
|
|
|
|
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
needs: test
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Copy robots.txt
|
|
run: cp packages/web-server/public/robots.txt.development packages/web-server/public/robots.txt
|
|
|
|
- name: Publish to Registry
|
|
uses: elgohr/Publish-Docker-Github-Action@master
|
|
with:
|
|
name: standardnotes/web
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
tags: "latest,${{ github.sha }}"
|
|
|
|
- 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: us-east-1
|
|
|
|
- name: Download task definition
|
|
run: |
|
|
aws ecs describe-task-definition --task-definition app-dev --query taskDefinition > task-definition.json
|
|
|
|
- name: Fill in the new image ID in the Amazon ECS task definition
|
|
id: task-def
|
|
uses: aws-actions/amazon-ecs-render-task-definition@v1
|
|
with:
|
|
task-definition: task-definition.json
|
|
container-name: app-dev
|
|
image: "standardnotes/web:${{ github.sha }}"
|
|
|
|
- name: Deploy Amazon ECS task definition
|
|
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
|
|
with:
|
|
task-definition: ${{ steps.task-def.outputs.task-definition }}
|
|
service: app-dev
|
|
cluster: dev
|
|
wait-for-service-stability: true
|
|
|
|
notify_discord:
|
|
needs: deploy
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Run Discord Webhook
|
|
uses: johnnyhuy/actions-discord-git-webhook@main
|
|
with:
|
|
webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
|