gradio/.github/workflows/deploy-chromatic.yml
renovate[bot] 19c9d26522
chore(deps): update chromaui/action action to v10 (#6618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 14:04:19 -08:00

88 lines
3.1 KiB
YAML

name: 'deploy to chromatic'
on:
push:
paths:
- 'js/**'
- 'gradio/themes/**'
- '.github/workflows/deploy-chromatic.yml'
- '!js/_website/**'
jobs:
get-current-pr:
runs-on: ubuntu-latest
outputs:
pr_found: ${{ steps.get-pr.outputs.pr_found }}
pr_number: ${{ steps.get-pr.outputs.number }}
pr_labels: ${{ steps.get-pr.outputs.pr_labels }}
steps:
- uses: 8BitJonny/gh-get-current-pr@2.2.0
id: get-pr
with:
filterOutDraft: true
comment-chromatic-start:
uses: "./.github/workflows/comment-queue.yml"
needs: get-current-pr
secrets:
gh_token: ${{ secrets.COMMENT_TOKEN }}
with:
pr_number: ${{ needs.get-current-pr.outputs.pr_number }}
message: |
storybook~pending~null
visual~pending~0~0~null
chromatic-deployment:
needs: get-current-pr
runs-on: ubuntu-latest
outputs:
changes: ${{ steps.publish-chromatic.outputs.changeCount }}
errors: ${{ steps.publish-chromatic.outputs.errorCount }}
storybook_url: ${{ steps.publish-chromatic.outputs.storybookUrl }}
build_url: ${{ steps.publish-chromatic.outputs.buildUrl }}
if: ${{ github.repository == 'gradio-app/gradio' && !contains(needs.get-current-pr.outputs.pr_labels, 'no-visual-update') }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: install dependencies
uses: "./.github/actions/install-all-deps"
with:
always-install-pnpm: true
skip_build: 'true'
- name: build client
run: pnpm --filter @gradio/client build
- name: generate theme.css
run: |
. venv/bin/activate
python scripts/generate_theme.py --outfile js/storybook/theme.css
- name: build storybook
run: pnpm build-storybook --quiet
- name: publish to chromatic
id: publish-chromatic
uses: chromaui/action@v10
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
token: ${{ secrets.GITHUB_TOKEN }}
onlyChanged: true
exitOnceUploaded: true
comment-chromatic-end:
uses: "./.github/workflows/comment-queue.yml"
needs: [chromatic-deployment, get-current-pr]
secrets:
gh_token: ${{ secrets.COMMENT_TOKEN }}
with:
pr_number: ${{ needs.get-current-pr.outputs.pr_number }}
message: |
storybook~success~${{ needs.chromatic-deployment.outputs.storybook_url }}
visual~success~${{ needs.chromatic-deployment.outputs.changes }}~${{ needs.chromatic-deployment.outputs.errors }}~${{ needs.chromatic-deployment.outputs.build_url }}
comment-chromatic-fail:
uses: "./.github/workflows/comment-queue.yml"
needs: [chromatic-deployment, get-current-pr]
if: always() && needs.chromatic-deployment.result == 'failure'
secrets:
gh_token: ${{ secrets.COMMENT_TOKEN }}
with:
pr_number: ${{ needs.get-current-pr.outputs.pr_number }}
message: |
storybook~failure~https://github.com/gradio-app/gradio/actions/runs/${{github.run_id}}/
visual~failure~0~0~https://github.com/gradio-app/gradio/actions/runs/${{github.run_id}}/