Skip to content

chore(deps): update actions/checkout action to v7 #3290

chore(deps): update actions/checkout action to v7

chore(deps): update actions/checkout action to v7 #3290

Workflow file for this run

on:
push:
pull_request:
workflow_call:
inputs:
ref:
type: "string"
required: true
description: "The ref (branch or tag) to build"
schedule:
# Weekly Friday night run to catch external breakage (PyPI, CDN, etc.)
- cron: "0 2 * * 5" # Every Friday at 2:00 AM UTC
jobs:
build-frontend:
name: "Build frontend"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v7"
with:
ref: "${{ inputs.ref }}"
- uses: "actions/setup-node@v6"
with:
node-version: "lts/*"
check-latest: true
cache: "yarn"
- run: "yarn install --frozen-lockfile --dev"
- run: "yarn build"
- uses: "actions/upload-artifact@v7"
with:
name: "frontend"
path: "dist"
retention-days: 5
build-backend:
name: "Build backend"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v7"
with:
ref: "${{ inputs.ref }}"
- uses: "astral-sh/setup-uv@v8.2.0"
- run: "export YACV_SKIP_FRONTEND_BUILD=true && uv sync --frozen"
- run: "export YACV_SKIP_FRONTEND_BUILD=true && uv build"
- uses: "actions/upload-artifact@v7"
with:
name: "wheel"
path: "dist/*"
retention-days: 5
build-logo:
name: "Build logo"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v7"
with:
ref: "${{ inputs.ref }}"
- uses: "astral-sh/setup-uv@v8.2.0"
- run: "export YACV_SKIP_FRONTEND_BUILD=true && uv run --frozen python yacv_server/logo.py"
- uses: "actions/upload-artifact@v7"
with:
name: "logo"
path: "assets/logo_build"
retention-days: 5
build-example:
name: "Build example"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v7"
with:
ref: "${{ inputs.ref }}"
- uses: "astral-sh/setup-uv@v8.2.0"
- run: "export YACV_SKIP_FRONTEND_BUILD=true && uv run --frozen python example/object.py"
env:
YACV_DISABLE_SERVER: "true" # Ensure the server is not started during the example build
- uses: "actions/upload-artifact@v7"
with:
name: "example"
path: "export"
retention-days: 5
e2e-test-frontend:
name: "E2E tests"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v7"
with:
ref: "${{ inputs.ref }}"
- uses: "actions/setup-node@v6"
with:
node-version: "lts/*"
check-latest: true
cache: "yarn"
- uses: "astral-sh/setup-uv@v8.2.0"
- name: "Install frontend dependencies"
run: "yarn install --frozen-lockfile --dev"
- name: "Build frontend into yacv_server/frontend"
run: "npx yarn build-only --outDir yacv_server/frontend"
- name: "Install Playwright browsers"
run: "npx playwright install chromium"
- name: "Install backend dependencies"
run: "uv sync --frozen"
- name: "Run e2e tests"
run: "npx playwright test"
env:
YACV_GRACEFUL_SECS_CONNECT: "0"
YACV_GRACEFUL_SECS_WORK: "10"
- uses: "actions/upload-artifact@v7"
if: "always()" # Upload even if tests fail
with:
name: "e2e-screenshots"
path: |
screenshots/
test-results/
playwright-report/
.e2e_control_port
retention-days: 30