Repository navigation
chore: remove AI analysis, workflow logs, test results, release management, Sentry and Maven starter - #1229
chore: remove AI analysis, workflow logs, test results, release management, Sentry and Maven starter#1229krusche wants to merge 5 commits into
Conversation
…elease management, Sentry and the Maven starter Focus Helios on its core (GitHub Actions UI and deployments to test servers) to minimise maintenance. Adds migration V59 to drop the unused tables and columns.
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
Not up to standards ⛔🟢 Issues
|
| Metric | Results |
|---|---|
| Coverage variation | ❌ -1.33% coverage variation (-1.00%) |
| Diff coverage | ∅ diff coverage |
Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (172e4eb) 16324 10064 61.65% Head commit (4e4960a) 11964 (-4360) 7217 (-2847) 60.32% (-1.33%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>
Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#1229) 0 0 ∅ (not applicable) Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
Claudia-Anthropica
left a comment
There was a problem hiding this comment.
@krusche I found one navigation regression: deployed tags now open a branch page that can't load them. Apply labels failed on GitHub's 20,000-line diff limit in the existing workflow this PR removes. Server tests, Java/Kotlin CodeQL, and generated-client validation were still unfinished.
| tooltipPosition="top" | ||
| (click)="$event.stopPropagation()" | ||
| [routerLink]="isRelease(deployment) ? null : getBranchLink()" | ||
| [routerLink]="getBranchLink()" |
There was a problem hiding this comment.
@krusche [medium] For an environment deployed from a tag such as v1.2.3, this now opens /ci-cd/branch/v1.2.3. Tags aren't stored as branches: GitHubCreateMessageHandler only syncs branch refs, and BranchController returns 404 when the branch lookup fails. The destination consequently stays on loading skeletons without deployment controls or history. Please retain tag detection, keep tag refs non-navigable, and restore regression coverage for this case.
🤖 Prompt for AI agents
In client/src/app/components/environments/environment-accordion/environment-accordion.component.html, deployed tags are routed to a branch page whose API cannot resolve them. Retain tag detection and set the routerLink to null for tag refs while preserving branch navigation, with a regression test.
Remove orphaned repository finders, the workflow-label selector and the unused latest-release tag, drop production/staging source maps that only served Sentry, fix docs, and add tests for the cleanup policy, security filter, routes, nav bar and environment accordion.
|
|
||
| private static final String TOKEN = "repo-7-" + "a".repeat(43); | ||
|
|
||
| private final GitRepoSettingsRepository settingsRepository = mock(GitRepoSettingsRepository.class); |
There was a problem hiding this comment.
🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck> reported by reviewdog 🐶
Line is longer than 100 characters (found 101).
Claudia-Anthropica
left a comment
There was a problem hiding this comment.
@krusche Thanks, the restored version-tag guard and regression coverage fix the earlier navigation issue. I found no further issues in the full diff. Apply labels failed on GitHub's 20,000-line diff limit in the existing workflow this PR removes; this doesn't indicate an application defect. Server and client tests, OpenAPI validation, migration validation, and Java/Kotlin CodeQL were still running.
Resolve conflicts with the token-refresh work (#1199): drop the release/AI-handler code that this PR removes, keep the ResponseStatusException handler and the token encryption test key, and renumber the cleanup migration from V59 to V60.
| @@ -160,7 +138,7 @@ public ResponseEntity<ApiError> handleResponseStatusException( | |||
| error.setTimestamp(Instant.now()); | |||
|
|
|||
| // These are deliberate, handled outcomes (auth, conflicts, upstream rejections), so keep them | |||
| // out of Sentry; log server-side faults (5xx) at WARN for visibility, client faults at DEBUG. | |||
| // out of error reporting; log server-side faults (5xx) at WARN for visibility, client faults at DEBUG. | |||
There was a problem hiding this comment.
🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck> reported by reviewdog 🐶
Line is longer than 100 characters (found 107).
Claudia-Anthropica
left a comment
There was a problem hiding this comment.
@krusche The tag-navigation fix still holds, and I found no further issues in the full diff. Apply labels failed on GitHub's 20,000-line diff limit in the existing workflow this PR removes; this doesn't indicate an application defect. Server/client tests, client build, generated-client validation, migration validation, Actions and Java/Kotlin CodeQL, Keycloakify linting, branch checks and PR-title validation were still unfinished.
Resolve conflicts with the dependency update (#1231): keep renovate.yml, Sentry and confetti removed, take the new client versions and regenerate the client lockfile.
Claudia-Anthropica
left a comment
There was a problem hiding this comment.
@krusche The tag-navigation fix still holds, but I found a database performance regression I missed in the earlier review: V60 removes the index still needed by branch pipeline lookups. Please preserve a branch/repository index when dropping the test-status column. Apply labels failed on GitHub's 20,000-line diff limit in the existing workflow this PR removes; this doesn't indicate an application defect. Server/client tests, client build, OpenAPI and migration validation, Java/Kotlin CodeQL, linting, and branch checks are still unfinished.
|
|
||
| -- Test-processing status on workflow runs (also drops idx_workflow_run_branch_repo_status and the | ||
| -- workflow_run_test_processing_status_check constraint) | ||
| ALTER TABLE public.workflow_run DROP COLUMN IF EXISTS test_processing_status; |
There was a problem hiding this comment.
@krusche [medium] Dropping this column also drops idx_workflow_run_branch_repo_status, whose (head_branch, repository_id) prefix still supports the head-run and previous-commit queries in getPipelineRunContextForBranch. The remaining schema has no supporting index for these filters, so branch pipelines polled every 15 seconds require full workflow_run scans on large CI histories. Please create a replacement index on (head_branch, repository_id) in this migration.
🤖 Prompt for AI agents
In server/application-server/src/main/resources/db/migration/V60__drop_removed_features.sql, dropping test_processing_status also removes the only branch/repository index used by retained branch pipeline queries. Add a replacement index on public.workflow_run (head_branch, repository_id) in this migration.
Motivation
Helios has become too expensive to maintain. This PR focuses it on its core, a UI for GitHub Actions and deployments to test servers, by removing features that are secondary or that only work in a narrow setup.
Description
Removed (server, client, config, CI and docs):
ai/**, the OpenAI/spring-ai dependencies andhelios.ai.*config)workflow/logs/**, the logs endpoint and page). Users follow the existing "Open on GitHub" links instead.tests/**, test types, flaky-tests page, test results in the pipeline view,WorkflowRun.testProcessingStatus, the keep-N cleanup policies)releaseinfo/**, release candidates, GitHub release sync, release UI, release tags in the UI)release-sentry.yml) and canvas-confettihelios-status-spring-starter(Maven module) andrelease-maven.ymldeployment-helios.ymlremains),renovate.yml(the hosted Renovate app is used), the stale bot, the PR labeler, assign-author and ready-for-review workflowsTESTING_PLAYBOOK.mdand the Artemis test-display runbook; updated README and docsDatabase: new migration
V60__drop_removed_features.sqldrops the test, flakiness, test-failure-analysis and release tables,workflow_run.test_processing_statusandrepository_settings.package_name. No existing migration was changed.Also removed as follow-up cleanup: the workflow-label (NONE/TEST) selector in project settings, the unused latest-release tag on repositories (V60 also drops
repository.latest_release_tag_name, saving one GitHub API call per repo sync), orphaned repository finders, production/staging source maps that only served Sentry, and stale test fixtures. Added tests for the cleanup policy,RepoSecretFilter, routes, navigation bar, environment accordion and the workflow-runs table.Kept on purpose: the custom Keycloak theme, notifications, NATS/webhook-listener, the pipeline view, deployment approvals, and the server-side
Workflow.Label.TESTAPI.Not done: merging
nginx.prod.conf/nginx.staging.conf(copied to the hosts by hand) andapplication-prod.yml/application-staging.yml(a shared file would need a new per-environment variable).flyway-validate.ymlandvalidate-openapi.ymlstay separate because they are reused viaworkflow_call.Behaviour changes to be aware of:
CLEANUP_WORKFLOW_RUN_MAX_AGE_DAYS) plus the optional orphan-branch sweep. Default branches are no longer exempt from keep-N pruning because that pruning is gone.Testing Instructions
Prerequisites:
Flow:
Verification run locally: server compile and tests (358 tests, 0 failures, 2 pre-existing skips, including the Testcontainers integration tests); client production build, eslint, prettier and unit tests (361 tests). Checkstyle was not run locally (CI only).
Checklist
General
Deployment follow-ups (after merge)
SENTRY_DSN,HELIOS_AI_*,OPENAI_*, plus the Sentry release secrets and thepublish-mavenenvironment.Note: renumbered from V59 to V60 after the GitHub token-refresh migration (V59, #1199) landed in staging.