Skip to content

feat(ci): add summaries #203

feat(ci): add summaries

feat(ci): add summaries #203

Workflow file for this run

name: Preview
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
on: push
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up PNPM
uses: pnpm/action-setup@v3
with:
version: latest
- name: Set up Node.js
uses: actions/setup-node@v4
with:
cache: 'pnpm'
node-version-file: 'package.json'
- name: Install dependencies
run: pnpm install --frozen-lockfile
# - name: Lint project
# run: pnpm lint
- name: Lint code
run: |
pnpm lint:code
pnpm lint:format
- name: Check typings
run: pnpm lint:typings
- name: Lint Markdown
run: pnpm lint:wiki
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up PNPM
uses: pnpm/action-setup@v3
with:
version: latest
- name: Set up Node.js
uses: actions/setup-node@v4
with:
cache: 'pnpm'
node-version-file: 'package.json'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run tests
run: pnpm test:coverage >> $GITHUB_STEP_SUMMARY
preview:
name: Preview
needs: [lint, tests]
outputs:
url: ${{ steps.deploy.outputs.url }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up PNPM
uses: pnpm/action-setup@v3
with:
version: latest
- name: Set up Node.js
uses: actions/setup-node@v4
with:
cache: 'pnpm'
node-version-file: 'package.json'
- name: Set up Vercel
run: |
npm install --global vercel@latest
vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }}
- name: Build
run: |
echo "::group::Vercel build"
vercel build --token=${{ secrets.VERCEL_TOKEN }}
echo "::endgroup::"
- name: Deploy
id: deploy
run: |
url=`vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} >> $GITHUB_STEP_SUMMARY`
echo "url=$url" >> "$GITHUB_OUTPUT"
preview-url:
needs: preview
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- name: Log context
uses: actions/github-script@v7
with:
script: |
console.log(context.issue)
console.log(context.repo)
- name: Retrieve preview URL
env:
PREVIEW_URL: ${{needs.preview.outputs.url}}
uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
body: "Deployed at ${{env.PREVIEW_URL}}",
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo
})
release:
name: Release
if: ${{ github.ref == 'refs/heads/master' }}
needs: preview
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up PNPM
uses: pnpm/action-setup@v3
with:
version: latest
- name: Set up Node.js
uses: actions/setup-node@v4
with:
cache: 'pnpm'
node-version-file: 'package.json'
- name: Set up Vercel
run: |
npm install --global vercel@latest
vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
- name: Build
run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
- name: Deploy
run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} >> $GITHUB_STEP_SUMMARY