name: Release on: push: tags: - 'v*.*.*' env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ secrets.TURBO_TEAM }} jobs: release: name: Release runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: submodules: recursive fetch-depth: 0 - name: Setup pnpm uses: pnpm/action-setup@v2 with: version: 8 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '18' cache: 'pnpm' registry-url: 'https://registry.npmjs.org' - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build run: pnpm build - name: Run tests run: pnpm test - name: Create GitHub Release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} draft: false prerelease: false - name: Deploy to Staging run: | echo "Deploy to staging environment" # Add deployment steps here - name: Wait for approval uses: trstringer/manual-approval@v1 with: secret: ${{ github.TOKEN }} approvers: the-order/release-team minimum-approvals: 1 - name: Deploy to Production if: success() run: | echo "Deploy to production environment" # Add deployment steps here