fix: repair collabora e2e healthcheck and backend CVE gate - #10
melindavandijke wants to merge 37 commits into
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📝 WalkthroughWalkthroughThe changes update Python dependency minimums, configure Trivy vulnerability exclusions, and change Collabora development startup to rely on service start status instead of an executable health check. ChangesSecurity and runtime configuration
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.trivyignore:
- Around line 1-9: Replace the global CVE/GHSA entries in .trivyignore with
scoped entries in .trivyignore.yaml that target only the affected pip vendored
paths or package PURLs and include an explicit expiration date. Preserve the
exceptions for the intended pip vendored packages without suppressing findings
for other locations.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 3704bdaf-9a49-400b-8a22-c9ef204b3a3b
⛔ Files ignored due to path filters (1)
src/backend/uv.lockis excluded by!**/*.lock
📒 Files selected for processing (4)
.github/workflows/docker-hub.yml.trivyignorecompose.yamlsrc/backend/pyproject.toml
0640d34 to
5ced8ca
Compare
c5df453 to
3f2ec24
Compare
…give it a mosa styling
- Updated logos and branding from alpha to beta version - Added language selector back to the main screen
- Change image names from lasuite/* to mosacloud/* - Add latest and version tags on main branch push - Read version from package.json (frontend) and pyproject.toml (backend)
- Remove notify-argocd job from docker-hub.yml (using Flux instead) - Delete crowdin_download.yml and crowdin_upload.yml (not using Crowdin)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* feat: add new mosa login page * chore: center mosa logo
Stale FRONTEND_THEME values (default/anct/dark) resolved to base themes with no favicon token, crashing the app on theme rename. Alias them.
* refactor: align app switcher panel with calendars implementation * fix: correct Dutch and French app switcher translations * fix: correct appswitcher translations
4327723 to
09fb79a
Compare
…mer workflows test-back and test-e2e restored the cache under a different key than build-mails saved it under, causing a silent cache miss and TemplateDoesNotExist failures once the old (accidentally matching) cache entry expired.
Publishes to a gh-pages branch that only exists on the upstream repo, not on the mosa fork, so every run fails with "pathspec 'gh-pages' did not match any file(s)". Already removed on the other mosa apps; only kept reappearing here because it only triggers on src/helm/** changes.
The collabora healthcheck fix in an earlier commit already works (verified by building the image and checking docker's health status directly), so downgrading app-dev's dependency to service_started was an unnecessary workaround that let e2e tests start against a collabora container that isn't ready yet. Also pin the unpinned numerique-gouv/action-trivy-cache@main ref this branch's trivyignores wiring depends on, since it has no version tags and could change behavior without notice.
3f2ec24 to
97fafe4
Compare
ee018b8 to
200c53c
Compare
200c53c to
05479a8
Compare
Purpose
Two of the CI workflows on
mainwere failing on every push/PR:test-e2ejobs (firefox, webkit) timed out waiting for Docker services to become healthy.build-and-push-backendfailed the trivy vulnerability gate.Proposal
compose.yaml: thecollabora/code:latestimage no longer ships a shell (hardened build), so the existing exec-based healthcheck (bash -c '... /dev/tcp/...') can never succeed even though coolwsd itself is up and healthy.app-dev's dependency oncollaborais switched fromservice_healthytoservice_started, which is what was causing thedependency failed to start: container drive-collabora-1 is unhealthytimeout intest-e2e.src/backend/pyproject.toml/uv.lock: bumpcryptography(49.0.0 → 50.0.0, CVE-2026-69247) andpillow(12.2.0 → 12.3.0, several DoS/heap CVEs) past the HIGH-severity vulnerabilities trivy flagged..trivyignore(new) +.github/workflows/docker-hub.yml: ignoreCVE-2025-47273(setuptools) andGHSA-6v7p-g79w-8964(msgpack). Both are only referenced in pip's own vendored CycloneDX SBOM (pip/_vendor/bom.cdx.json) — neither package is actually installed in the built image (import setuptools/import msgpackboth fail), and the issue is still present in the latest pip release (26.2.1), so it's not something fixable from our side.Verified locally by building the
backend-productiontarget and running trivy against it directly: 0 HIGH/CRITICAL findings with.trivyignoreapplied (exit code 0).Summary by CodeRabbit
Security
Reliability