name: Seeds CI/CD on: push: branches: - "main" paths: - "seeds/**" - "common/**" pull_request: branches: - "main" paths: - "seeds/**" - "common/**" workflow_dispatch: jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - uses: pnpm/action-setup@v4 with: version: 8.15.6 - uses: actions/setup-node@v3 with: node-version: 20 cache: pnpm - name: Install dependencies run: pnpm --filter tachi-seeds-scripts... --filter . install - name: Run Tests run: pnpm --filter tachi-seeds-scripts test env: NODE_ENV: "test" deploy: runs-on: ubuntu-latest needs: [test] if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} concurrency: group: "seeds-lock-${{ github.sha }}" cancel-in-progress: false steps: - name: Enable SSH Key run: | mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa sudo chmod 600 ~/.ssh/id_rsa echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts env: SSH_PRIVATE_KEY: ${{secrets.SSH_PRIVATE_KEY}} SSH_KNOWN_HOSTS: ${{secrets.SSH_KNOWN_HOSTS}} - name: Deploy updates run: ssh ci@"$TACHI_HOST" /home/ci/tachi-devops/scripts/deploy_seeds.sh env: TACHI_HOST: ${{secrets.TACHI_HOST}}