core/.github/workflows/deploy.yml

96 lines
2.8 KiB
YAML

name: Deploy
on:
push:
branches:
- master
- stable
jobs:
eslint:
name: ESLint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: install node v14
uses: actions/setup-node@v1
with:
node-version: 14
- name: yarn install
run: yarn install
- name: run eslint
run: yarn lint
env:
CI: true
test:
name: Run Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: install node v14
uses: actions/setup-node@v1
with:
node-version: 14
- name: yarn install
run: yarn install
- name: run jest
run: yarn test
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: install node v14
uses: actions/setup-node@v1
with:
node-version: 14
- name: yarn install
run: yarn install
- name: Generate RSA Key Pair
run: ssh-keygen -b 2048 -t rsa -f key -q -P "" && ssh-keygen -b 2048 -e -m pem -f key -q -P "" > private.key && mv key public.pem && rm key.pub
- name: Setup environments
run: mv .env.demo.local .env.production.local & echo 'MYSQL_ROOT_PASSWORD=YOUSHALLNOTPASS' > .env
- name: Create needed files
run: echo '{"tester":"DEMO_KEY"}' > secret.json
- name: Build
run: yarn build
env:
CI: true
# docker:
# needs:
# - eslint
# - build
# - test
# name: Docker Image CI
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: install node v14
# uses: actions/setup-node@v1
# with:
# node-version: 14
# - name: Generate RSA Key Pair
# run: |
# ssh-keygen -b 2048 -t rsa -f key -q -P ""
# ssh-keygen -b 2048 -e -m pem -f key -q -P "" > private.key
# mv key public.pem
# rm key.pub
# - name: Setup environments
# run: |
# mv .env.demo.local .env.production.local
# printf 'MARIADB_ROOT_PASSWORD=YOUSHALLNOTPASS\nCOMMIT_HASH=${{ github.sha }}' > .env
# - name: Create needed files
# run: echo '{"tester":"DEMO_KEY"}' > secret.json
# - name: Docker Compose
# run: docker-compose up -d
# deployBeta:
# needs: docker
# name: Deploy Beta
# runs-on: ubuntu-latest
# if: github.ref == 'refs/heads/master'
# steps:
# - name: Deploy
# uses: appleboy/ssh-action@master
# with:
# host: ${{ secrets.HOST }}
# username: ${{ secrets.USERNAME }}
# key: ${{ secrets.KEY }}
# script: cd ${{ secrets.BETA_DIR }} && git stash && git pull && printf "NEXT_PUBLIC_COMMIT_HASH=$(git rev-parse HEAD)\nNEXT_PUBLIC_BRANCH=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p')" > .env.local && docker-compose up --build -d