Skip to content

feat(ci): add NuGet/Playwright caching and run CodeQL on push to main/develop#384

Merged
rygel merged 1 commit intodevelopfrom
feat/ci-caching-and-codeql-on-push
Mar 20, 2026
Merged

feat(ci): add NuGet/Playwright caching and run CodeQL on push to main/develop#384
rygel merged 1 commit intodevelopfrom
feat/ci-caching-and-codeql-on-push

Conversation

@rygel
Copy link
Copy Markdown
Owner

@rygel rygel commented Mar 20, 2026

Summary

  • publish.yml: All 6 matrix jobs now use setup-dotnet-cache — NuGet packages are cached and shared across runs instead of being restored fresh each time
  • tests.yml: Playwright browsers cached in ~\AppData\Local\ms-playwright keyed on Web.Tests.csproj hash — skips the ~300MB Chromium download on cache hit
  • tests.yml: Ubuntu cross-platform job now uses setup-dotnet-cache (was the only job without NuGet caching)
  • codeql.yml: Runs on push to main/develop (source paths only) in addition to the weekly schedule; also added NuGet caching to the build step

Expected impact

Job Before After
publish (×6) Full NuGet restore every run Cache hit after first run per dependency change
web-tests-windows Chromium downloaded every run (~300MB) Cache hit on matching Playwright version
core-tests-cross-platform Full NuGet restore every run Cached
CodeQL Weekly only Weekly + on every merge to main/develop

Note on CodeQL

CodeQL takes ~30–45 min — not added as a PR gate (too slow). It runs post-merge on source code changes only, so findings surface in Code Scanning within an hour of merging rather than waiting up to a week.

🤖 Generated with Claude Code

…/develop

- publish.yml: replace plain setup-dotnet with setup-dotnet-cache action
  (all 6 matrix jobs now share NuGet cache, saving repeated package restores)
- tests.yml web-tests-windows: cache Playwright browsers in
  ~\AppData\Local\ms-playwright keyed on Web.Tests.csproj hash
- tests.yml core-tests-cross-platform: replace plain setup-dotnet with
  setup-dotnet-cache action (ubuntu job was the only one without NuGet caching)
- codeql.yml: add push trigger on main/develop with source-code path filter
  so CodeQL findings appear immediately after merging, not just weekly;
  also add NuGet caching to the CodeQL build step

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Build Performance Report

⏱️ Build Time: 12 minutes

📊 Comparison with main branch:

  • Baseline (avg): 10 minutes
  • Current: 12 minutes
  • Change: 📈 20%

✅ Within acceptable range


This is an automated performance check

@rygel rygel merged commit 6315b67 into develop Mar 20, 2026
17 checks passed
@rygel rygel deleted the feat/ci-caching-and-codeql-on-push branch March 20, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants