diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml new file mode 100644 index 000000000..8967a93d7 --- /dev/null +++ b/.github/workflows/deploy-dev.yml @@ -0,0 +1,57 @@ +name: Deploy Dev + +on: + push: + branches: [ master ] + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - uses: actions/setup-node@v2 + with: + node-version: '14' + + # https://github.com/pnpm/action-setup#use-cache-to-reduce-installation-time + - name: Cache pnpm modules + uses: actions/cache@v2 + with: + path: ~/.pnpm-store + key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}- + + - uses: pnpm/action-setup@v2.0.1 + with: + version: 6.0.2 + run_install: true + + - name: Build + run: pnpm -- lerna run build --stream + + # See warning in https://pnpm.io/cli/prune + - name: Prune + run: rm -rf node_modules packages/*/node_modules && pnpm i + env: + NODE_ENV: production + + - name: Setup env + working-directory: packages/core + run: echo "$DEV_CORE_ENV" >> .env + env: + DEV_CORE_ENV: ${{ secrets.DEV_CORE_ENV }} + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.DEV_SSH_KEY }} + known_hosts: ${{ secrets.DEV_SSH_KNOWN_HOSTS }} + config: ${{ secrets.DEV_SSH_CONFIG }} + + - name: Rsync folder + run: rsync --filter='exclude .git' -r -a ./ $DEV_SERVER_IP:~/logto + env: + DEV_SERVER_IP: ${{ secrets.DEV_SERVER_IP }} diff --git a/package.json b/package.json index b3d849a28..21ced37c2 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,10 @@ "name": "root", "private": true, "scripts": { + "preinstall": "npx only-allow pnpm", "lerna": "lerna", "bootstrap": "lerna bootstrap", - "prepare": "husky install && lerna run --stream prepack", + "prepare": "if test \"$NODE_ENV\" != \"production\" ; then husky install && lerna run --stream prepack ; fi", "dev": "lerna run --parallel dev" }, "devDependencies": {