name: Client CI/CD on: push: branches: - "staging" - "release/*" paths: - "client/**" - "common/**" pull_request: branches: - "staging" - "release/*" paths: - "client/**" - "common/**" workflow_dispatch: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2 with: version: 7.20.0 - uses: actions/setup-node@v3 with: node-version: 16 cache: pnpm - name: Install dependencies run: pnpm --filter tachi-client... --filter . install - name: Typecheck run: pnpm --filter tachi-client typecheck deploy: runs-on: ubuntu-latest needs: [test] if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} steps: - name: Deploy to staging if: github.ref == 'refs/heads/staging' uses: appleboy/ssh-action@1a8b3784eaa665f677fa114edd5683bb6a6bfaa8 with: host: ${{ secrets.TACHI_HOST }} username: tachi key: ${{ secrets.TACHI_KEY }} script: tachi-client-deploy -s - name: Deploy to live 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-client-deploy