Skip to content

fix: replace standalone SBOM with reusable quality workflow - #430

Closed
rubenvdlinde wants to merge 7 commits into
developmentfrom
fix/sbom-reusable-workflow
Closed

fix: replace standalone SBOM with reusable quality workflow#430
rubenvdlinde wants to merge 7 commits into
developmentfrom
fix/sbom-reusable-workflow

Conversation

@rubenvdlinde

@rubenvdlinde rubenvdlinde commented Mar 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • CI/CD: Replace standalone workflows with reusable quality workflow — Remove the 176-line standalone quality-check.yml and separate sbom.yml, replacing both with a single reusable workflow caller (ConductionNL/.github/.github/workflows/quality.yml) that provides PHPCS, PHPMD, SBOM generation, and frontend checks
  • Build: Add @conduction/nextcloud-vue npm dependency — Add the shared Vue component library as a dependency with a conditional webpack alias for local development
  • Feature: Add named routes, prometheus metrics, and new specs — Add HealthController, MetricsController (Prometheus), Dashboard view, named routes in vue-router, and three new OpenSpec specs (prometheus-metrics, register-i18n, woo-transparency)
  • Fix: Correct named parameter for uses/used endpoints — Fix parameter naming in PublicationsController for uses/used API calls
  • Fix: Remove invalid published parameter from ObjectService calls — Clean up multiple controllers (Catalogi, Glossary, Menus, Pages, Publications, Robots) and SitemapService by removing an invalid published parameter

Commits

  • 11539f73 fix: replace standalone quality-check and SBOM workflows with reusable quality workflow
  • 7bcbdf5c fix: replace standalone SBOM workflow with reusable quality workflow
  • 6a422c7b fix: Add @conduction/nextcloud-vue npm dependency and conditional webpack alias
  • 7e7adc53 feat: Add named routes, prometheus metrics, woo-transparency, register-i18n specs
  • 6379a8db fix: Correct named parameter for uses/used endpoints
  • f05d35fe fix: Remove invalid published parameter from ObjectService calls

ObjectService::searchObjectsPaginated() does not have a `published`
parameter. Passing it caused "Unknown named parameter $published"
errors (HTTP 500) on all publications, catalogs, glossary, pages,
menus, sitemap, and robots endpoints.

Removed `published: false` from 9 call sites across 7 files.
PublicationsController::uses() and ::used() passed `rbac: true`
but ObjectService expects `_rbac: true`. This caused HTTP 500
on /api/{catalogSlug}/{id}/uses and /used endpoints.
…r-i18n specs

Bug fix:
- Router: added name properties to all 11 routes (was blocking clickable-kpi-widgets)

New specs:
- woo-transparency: WOO publication workflow (moved from docudesk)
- prometheus-metrics: Prometheus metrics endpoint (/api/metrics, /api/health)
- register-i18n: Multi-language content (most translation-heavy app)

Implementation:
- MetricsController: publications by status/catalog, catalogs, listings, search
- HealthController: database connectivity check
- Dashboard: KPI cards migrated to CnStatsBlock with route props
…pack alias

The import from @conduction/nextcloud-vue had no webpack alias and no
npm dependency, breaking builds on GitHub CI. Adds the npm package as
a dependency and a conditional webpack alias that uses the local source
when available (monorepo dev) and falls back to npm otherwise.
Also adds deduplication aliases for vue/pinia/@nextcloud/vue.
@rubenvdlinde
rubenvdlinde changed the base branch from main to development March 17, 2026 08:22
…e quality workflow

Replace the 176-line standalone quality-check.yml and separate sbom.yml
with a single reusable workflow caller from ConductionNL/.github, which
provides PHPCS, PHPMD, SBOM generation, and frontend checks in one job.
@github-actions

Copy link
Copy Markdown

Quality Report

Repository ConductionNL/opencatalogi
Commit c311d43
Branch 430/merge
Event pull_request
Generated 2026-03-17 08:38 UTC
Workflow Run https://github.com/ConductionNL/opencatalogi/actions/runs/23185510135

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security FAIL
License FAIL
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint FAIL

Security

Ecosystem Result
composer PASS
npm FAIL

License Compliance

Ecosystem Result
composer PASS
npm FAIL

composer dependencies (131 total)

Metric Count
Approved (allowlist) 131
Approved (override) 0
Denied 0

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

@rubenvdlinde

Copy link
Copy Markdown
Collaborator Author

Closing — superseded by newer work or stale (3+ months).

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.

1 participant