Skip to content

Remove all @types packages before yarn build #32

Remove all @types packages before yarn build

Remove all @types packages before yarn build #32

Workflow file for this run

name: deploy-express
on:
push:
branches:
- deploy
paths:
- 'packages/express/**'
- '.github/workflows/deploy-express.yml'
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was triggered by a ${{ github.event_name }} on commit ${{ github.SHA }}"
- name: Check out repository code
uses: actions/checkout@v2
- uses: actions/setup-node@v3
with:
node-version: 14
- name: SSH to DO
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.DO_SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Build
run: |
npm install -g [email protected]
npm install -g [email protected]
lerna bootstrap
cd ./packages/express
yarn remove $(yarn list --depth=0 --pattern="@types/*" --silent | awk '{print $2}' | tr '\n' ' ')
cd ../..
yarn build
- name: Deploy and run
run: |
ssh ${{ secrets.DO_USERNAME }}@eduquilt.com mkdir /home/skuilder/dist/express/${{github.SHA}}
ssh ${{ secrets.DO_USERNAME }}@eduquilt.com mkdir /home/skuilder/dist/express/${{github.SHA}}/assets
rsync -rl ./packages/express/dist/ ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express/${{github.SHA}}
rsync -rl ./packages/express/assets/ ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express/${{github.SHA}}/assets
ssh ${{ secrets.DO_USERNAME }}@eduquilt.com ln -sfn /home/skuilder/dist/express/${{github.SHA}} /home/skuilder/api
ssh ${{ secrets.DO_USERNAME }}@eduquilt.com rm /home/skuilder/.env.development.local
ssh -t ${{ secrets.DO_USERNAME }}@eduquilt.com 'echo VERSION=${{ github.SHA }} >> /home/skuilder/.env.development.local'
ssh -t ${{ secrets.DO_USERNAME }}@eduquilt.com 'echo COUCHDB_ADMIN=${{ secrets.COUCHDB_ADMIN }} >> /home/skuilder/.env.development.local'
ssh -t ${{ secrets.DO_USERNAME }}@eduquilt.com 'echo COUCHDB_PASSWORD=${{ secrets.COUCHDB_PASSWORD }} >> /home/skuilder/.env.development.local'
ssh -t ${{ secrets.DO_USERNAME }}@eduquilt.com 'echo COUCHDB_PROTOCOL=${{ secrets.COUCHDB_PROTOCOL }} >> /home/skuilder/.env.development.local'
ssh -t ${{ secrets.DO_USERNAME }}@eduquilt.com 'echo COUCHDB_SERVER=${{ secrets.COUCHDB_SERVER }} >> /home/skuilder/.env.development.local'
ssh -t ${{ secrets.DO_USERNAME }}@eduquilt.com 'echo ${{ secrets.DO_PASSWORD }} | sudo -S systemctl restart eqExpress'
sleep 10s
if curl https://eduquilt.com/express | grep -q ${{ github.SHA }}; then
echo "Success. Current version found in production"
exit 0
else
echo "Error! Current version not reported by production."
exit 1
fi
# todo: toss a buildinfo.md file into the (ecount+1) folder, linking PR, listing time, logging build errors, etc