refactoring #22
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: Build and Deploy Host Project | |
on: | |
push: | |
paths: | |
- 'packages/host/**' | |
pull_request: | |
paths: | |
- 'packages/host/**' | |
jobs: | |
install-dependencies: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '16' | |
- name: Cache Node modules | |
uses: actions/cache@v2 | |
with: | |
path: '**/node_modules' | |
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }} | |
- name: Install Dependencies | |
run: yarn install | |
test-and-build: | |
needs: install-dependencies | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Use Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '16' | |
- name: Cache Node modules | |
uses: actions/cache@v2 | |
with: | |
path: '**/node_modules' | |
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }} | |
- name: Build Shared Modules | |
run: yarn workspace shared build | |
- name: Test and Build Host | |
run: | | |
yarn workspace host test | |
yarn workspace host build | |
- name: Archive Build Artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: shared-artifacts | |
path: packages/host/dist | |
deploy-host: | |
needs: test-and-build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Use Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '16' | |
- name: Cache Node modules | |
uses: actions/cache@v2 | |
with: | |
path: '**/node_modules' | |
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }} | |
- name: Download Build Artifacts | |
uses: actions/download-artifact@v2 | |
with: | |
name: shared-artifacts | |
path: ./host | |
- name: Deploy to Server | |
uses: appleboy/scp-action@master | |
with: | |
host: 138.68.115.124 | |
username: root | |
key: ${{ secrets.SSH_PRIVATE_KEY }} | |
source: 'host/*' | |
target: '/usr/share/nginx/html' |