Skip to content

fix(mobile): keep reception lot cards within 412px viewport #1910

fix(mobile): keep reception lot cards within 412px viewport

fix(mobile): keep reception lot cards within 412px viewport #1910

Workflow file for this run

name: Quality
on:
pull_request:
branches:
- main
- 'feat/**'
- 'docs/**'
push:
branches: [main]
concurrency:
group: quality-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
quality:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v7.0.1
- name: Setup Node
uses: actions/setup-node@v7.0.0
with:
node-version: 24
cache: npm
- name: Install locked dependencies
run: npm ci
- name: Lint, typecheck and build
run: npm run quality
- name: Migration inventory contract
run: node scripts/migration-inventory-smoke.mjs
- name: Start production preview
run: |
npm run preview -- --host 127.0.0.1 > /tmp/pescamar-preview.log 2>&1 &
echo $! > /tmp/pescamar-preview.pid
- name: Wait for production preview
run: |
for i in {1..20}; do
if curl --fail --silent http://127.0.0.1:4173/ > /dev/null; then exit 0; fi
sleep 1
done
cat /tmp/pescamar-preview.log
exit 1
- name: Release smoke
run: node scripts/release-smoke.mjs
- name: Navigation flow contract
run: node scripts/navigation-flow-smoke.mjs
- name: UX language and navigation contract
run: node scripts/ux-language-smoke.mjs
- name: Task hierarchy contract
run: node scripts/task-hierarchy-smoke.mjs
- name: Mobile and accessibility contract
run: node scripts/mobile-accessibility-smoke.mjs
- name: Minimum-team operational flow contract
run: node scripts/minimum-team-flow-smoke.mjs
- name: Lot next-action continuity contract
run: node scripts/lot-action-continuity-smoke.mjs
- name: Inherited physical context contract
run: node scripts/inherited-physical-context-smoke.mjs
- name: Cold sensor ingest contract
run: node scripts/cold-sensor-ingest-smoke.mjs
- name: Seafood lineage contract
run: node scripts/seafood-lineage-smoke.mjs
- name: Physical Event Graph lineage contract
run: node scripts/physical-lineage-smoke.mjs
- name: Lineage intelligence UI contract
run: node scripts/lineage-intelligence-ui-smoke.mjs
- name: Operational Intelligence overview contract
run: node scripts/operational-intelligence-overview-smoke.mjs
- name: EdgeVision foundation contract
run: node scripts/edgevision-foundation-smoke.mjs
- name: Uni Vision learning contract
run: node scripts/uni-vision-learning-smoke.mjs
- name: External Uni reference provenance contract
run: node scripts/sea-urchin-external-reference-smoke.mjs
- name: Reception Vision provenance contract
run: node scripts/reception-vision-provenance-smoke.mjs
- name: Organization context contract
run: node scripts/organization-context-smoke.mjs
- name: Integration data plane contract
run: node scripts/integration-data-plane-smoke.mjs
- name: GS1 identity registry contract
run: node scripts/gs1-identity-smoke.mjs
- name: GDST 2.0 capability foundation
run: node scripts/gdst2-capability-smoke.mjs
- name: EPCIS 2.0 serializer contract
run: node scripts/epcis2-serializer-smoke.mjs
- name: Canonical data quality contract
run: node scripts/canonical-data-quality-smoke.mjs
- name: Seafood AI foundation contract
run: node scripts/seafood-ai-smoke.mjs
- name: Seafood AI routing contract
run: node scripts/seafood-ai-router-smoke.mjs
- name: Seafood AI router benchmark
run: node scripts/seafood-ai-router-eval.mjs
- name: Seafood AI grounded answer contract
run: node scripts/seafood-ai-answer-contract-eval.mjs
- name: Financial read boundary contract
run: node scripts/financial-read-boundary-smoke.mjs
- name: Operational form safety
run: node scripts/form-safety-smoke.mjs
- name: Stable operator identity
run: node scripts/operator-identity-smoke.mjs
- name: Operational audit contracts
run: node scripts/audit-smoke.mjs
- name: Public production health check
run: node scripts/public-health-smoke.mjs
- name: Pilot telemetry contract
run: node scripts/pilot-telemetry-smoke.mjs
- name: EdgeVision QA gate
run: node scripts/edgevision-qa-smoke.mjs
- name: Endpoint SQL contracts (ephemeral Neon)
env:
NEON_API_KEY: ${{ secrets.NEON_API_KEY }}
NEON_PROJECT_ID: ${{ vars.NEON_PROJECT_ID }}
run: node scripts/endpoint-sql-contracts.mjs
- name: Install pinned browser test runtime
run: |
npm install --no-save --ignore-scripts @playwright/test@1.55.0
npx playwright install --with-deps chromium
- name: Desktop and mobile Chromium smoke
run: npx playwright test
- name: Publish browser evidence
if: always()
uses: actions/upload-artifact@v7.0.1
with:
name: browser-release-evidence
path: |
test-results/
playwright-report/
if-no-files-found: ignore
retention-days: 14
- name: Preview logs on failure
if: failure()
run: cat /tmp/pescamar-preview.log || true