Files
the_order/.github/workflows/release.yml

72 lines
1.6 KiB
YAML

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