name: Database-Seeds CI/CD on: push: branches: - "staging" - "release/*" paths: - "database-seeds/**" - "common/**" pull_request: branches: - "staging" - "release/*" paths: - "database-seeds/**" - "common/**" workflow_dispatch: jobs: test: runs-on: ubuntu-latest defaults: run: working-directory: ./database-seeds/scripts steps: - name: Checkout uses: actions/checkout@v2 - name: Install Node.js 16 uses: actions/setup-node@v2 with: node-version: 16.x - name: Install PNPM uses: pnpm/action-setup@v2.0.1 with: version: 6.0.2 - name: Install Dependencies run: pnpm i - name: Run Tests run: pnpm test env: NODE_ENV: "test" deploy: runs-on: ubuntu-latest needs: [test] if: github.event_name == 'push' defaults: run: working-directory: ./database-seeds/scripts steps: - name: Sync Staging Database if: github.ref == 'refs/heads/staging' uses: appleboy/ssh-action@1a8b3784eaa665f677fa114edd5683bb6a6bfaa8 with: host: ${{ secrets.TACHI_HOST }} username: tachi key: ${{ secrets.TACHI_KEY }} script: tachi-database-sync -s - name: Sync Live Database if: startsWith(github.ref, 'refs/heads/release') uses: appleboy/ssh-action@1a8b3784eaa665f677fa114edd5683bb6a6bfaa8 with: host: ${{ secrets.TACHI_HOST }} username: tachi key: ${{ secrets.TACHI_KEY }} script: tachi-database-sync