dash: adapt to richer child computer status #1254
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, labeled] | |
jobs: | |
check: | |
name: check | |
runs-on: namespace-profile-default | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: install pnpm | |
uses: pnpm/action-setup@v4 | |
- name: install deps | |
run: pnpm install | |
- name: setup just | |
uses: extractions/setup-just@v2 | |
- name: lint | |
run: just lint | |
- name: format | |
run: just format-check | |
- name: typecheck | |
run: just typecheck | |
- name: test | |
run: just test | |
storybook: | |
name: storybook | |
runs-on: namespace-profile-default | |
env: | |
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: install pnpm | |
uses: pnpm/action-setup@v4 | |
- name: install deps | |
run: pnpm install | |
- name: setup just | |
uses: extractions/setup-just@v2 | |
- name: build storybook | |
run: STORYBOOK_SCREENSHOT_TESTING=true just build-storybook | |
- name: serve storybook | |
run: | | |
mv -f storybook/storybook-static/{iframe,index}.html | |
pnpm dlx [email protected] -l 4777 storybook/storybook-static & | |
- name: screenshots | |
run: | | |
just visual-test | |
pnpm dlx @argos-ci/cli upload storybook/visual-tests/screenshots/argos || true | |
- name: create screenshots pr | |
id: pr | |
uses: peter-evans/create-pull-request@v6 | |
if: github.event_name == 'pull_request' | |
with: | |
base: ${{ github.head_ref }} | |
commit-message: '[automated] update screenshots from CI' | |
branch: screenshots/patch/${{ github.head_ref }} | |
delete-branch: true | |
title: update screenshots from CI | |
- name: pr comment | |
if: ${{ steps.pr.outputs.pull-request-number }} | |
uses: mshick/add-pr-comment@v2 | |
with: | |
message: 'PR for changed screenshots: ${{ steps.pr.outputs.pull-request-url }}' | |
dashboard: | |
name: dashboard | |
runs-on: namespace-profile-default | |
env: | |
VITE_API_ENDPOINT: ${{ secrets.STAGING_API_ENDPOINT }} | |
VITE_TEST_ADMIN_CREDS: ${{ secrets.TEST_ADMIN_CREDS }} | |
VITE_GTM_ID: not-real | |
steps: | |
- name: reset staging # cypress tests depend slightly on staging api state | |
run: curl --silent ${{ secrets.STAGING_API_RESET_ROUTE }}; true | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: install pnpm | |
uses: pnpm/action-setup@v4 | |
- name: install deps | |
run: pnpm install | |
- name: setup just | |
uses: extractions/setup-just@v2 | |
- name: build dashboard | |
run: just build-dash | |
- name: cypress | |
uses: cypress-io/[email protected] | |
with: | |
start: pnpm --filter @dash/app preview | |
project: dash/app | |
- name: upload-videos | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-videos | |
path: dash/app/cypress/videos | |
files-changed: | |
runs-on: namespace-profile-default | |
if: ${{ github.event_name == 'pull_request' }} | |
outputs: | |
appviews: ${{ steps.changes.outputs.appviews }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v3 | |
id: changes | |
with: | |
filters: | | |
appviews: | |
- appviews/** | |
appviews-comment: | |
needs: files-changed | |
if: needs.files-changed.outputs.appviews == 'true' | |
runs-on: namespace-profile-default | |
steps: | |
- name: pr comment | |
uses: mshick/add-pr-comment@v2 | |
with: | |
message-id: appview-reminder | |
message: | | |
### ⚠️ **Warning: `appviews/` dir modified** ⚠️ | |
Beware of regressions in older macOS versions involving: | |
1. **Focusable elements**: All focusable elements (form elements, buttons, links, etc.) must have `tabIndex="-1"` to prevent layout shift issues. | |
2. **`gap-*` utilities** are not supported in Catalina | |
site: | |
name: site | |
runs-on: namespace-profile-default | |
env: | |
NEXT_PUBLIC_FORMS_ENDPOINT: /not-real | |
NEXT_PUBLIC_TURNSTILE_SITEKEY: not-real | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: install pnpm | |
uses: pnpm/action-setup@v4 | |
- name: install deps | |
run: pnpm install | |
- name: setup just | |
uses: extractions/setup-just@v2 | |
- name: build site | |
run: just build-site |