Skip to content

[Feature]: Improve CI speed, reliability, and cross-platform coverage #15

Description

@JJordan0C

Problem

The current workflow mixes frontend validation, Rust checks, cross-platform builds, end-to-end tests, and plugin packaging in broadly scoped jobs. Pull requests validate the main checks only on Ubuntu, so Windows and macOS regressions may be discovered after merging. Some setup and build work is also duplicated, and job responsibilities are not always clear.

Expected outcome

A faster and easier-to-maintain CI pipeline that gives reliable feedback and validates Ubuntu, Windows, and macOS before merge without weakening existing checks.

Product area

Packaging or compatibility

Proposed scope

  • Separate frontend, Rust quality, platform tests, and packaging responsibilities.
  • Run the appropriate Rust build and test coverage on all three platforms for pull requests.
  • Reuse the compiled frontend artifact and improve dependency caching.
  • Keep frontend tests, lint, build, local end-to-end tests, and plugin validation.
  • Preserve minimal permissions, pull-request cancellation, and offline-only execution.
  • Keep required check names stable or update branch protection safely.

Alternatives considered

Keep the current workflow unchanged. This would preserve simplicity but would continue detecting Windows and macOS failures only after merge.

Compatibility, safety, and performance impact

No product API, storage, runtime, or provider behavior changes are expected. Required status checks may need a coordinated update if job names change. Before-and-after workflow timings should be recorded.

Acceptance evidence

A pull request run completes successfully with the required Rust, frontend, end-to-end, and plugin checks, including platform coverage on Ubuntu, Windows, and macOS. Intentional failures are reported by the relevant job.

Additional context

Current workflow: https://github.com/IASolutionOrg/Needle/blob/main/.github/workflows/ci.yml

Submission checks

  • I checked PROJECT_STATUS.md and docs/ROADMAP.md for the current boundary.
  • I searched existing issues for the same request.
  • I understand that an accepted request is not a release, support, performance, or provider-backed evidence claim.
  • This request contains no credentials, private source, sealed benchmark material, or vulnerability details.

Metadata

Metadata

Assignees

Labels

area: packagingBuild, distribution, and compatibilityenhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions