Skip to content

perf(ci): optimize GitHub Actions — Playwright cache, timeout, Docker cache, codecov #3791

Closed

Description

@PierreBrisorgueil

Context

Vue CI runs take 28-35 min (2 parallel jobs). Heavy dev sessions burn through GitHub Actions minutes fast. The comes-io org hit its free tier limit.

Fixes needed

1. Cache Playwright browsers

Playwright downloads browsers on every run (~5 min). Cache them:

- uses: actions/cache@v4
  with:
    path: ~/.cache/ms-playwright
    key: playwright-${{ hashFiles('package-lock.json') }}

Saves ~15 min per E2E run.

2. Set job timeouts

No timeout set. Add:

jobs:
  lint-unit-build:
    timeout-minutes: 15
  e2e:
    timeout-minutes: 30

3. Docker layer cache in build.yml

Add GHA cache to build-push-action. Saves ~3-5 min per build.

4. Skip CI on merge push

CI runs on both PR and push to master — double run on every merge.

5. Fix codecov slug

All downstream repos report to pierreb-devkit/Vue instead of their own repo:

slug: ${{ github.repository }}

6. Standardize Node version

Release workflow uses v18, CI uses lts/*. Standardize to lts/*.

Impact

These optimizations propagate to all downstream projects via stack updates.

Activity

  1. added 2 commits that reference this issue on Mar 26, 2026
    41f6fd2
    e31287e
  2. added a commit that references this issue on Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions