Skip to content

Conversation

@jordanrfrazier
Copy link
Collaborator

@jordanrfrazier jordanrfrazier commented Oct 1, 2025

Mainly some dependency fixes and then adds a flag to ensure CI runs all tests during release processes.

Will add back the lfx stuff when ready for review

Summary by CodeRabbit

  • New Features

    • Nightly Docker images now use a new, clearer tagging scheme; multi-arch manifests aligned accordingly.
  • Tests

    • Added an LFX test job to CI.
    • Broader, more reliable test gating across workflows.
  • Release

    • Streamlined release pipeline with dependency validation and a dry-run option.
    • Simplified artifacts included in releases.
  • Chores

    • Upgraded Node.js to version 22 across workflows.
    • Improved CI robustness with consistent condition handling and safer defaults.
    • Optimized Docker builds (reduced provenance metadata, more resilient version detection).

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 1, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Workflow updates across CI, release, and Docker pipelines: introduce inputs.ref and run-all-tests in CI; normalize conditions using ${{ ... }} and always()/cancelled(); add lfx-tests in python_test; overhaul release.yml with new inputs (release_lfx, dry_run), dependency validation, and refactored job gating; upgrade Node.js to 22 across multiple workflows; adjust Docker build/tag logic and provenance.

Changes

Cohort / File(s) Summary
CI inputs and gating
.github/workflows/ci.yml
Rename inputs.branch→inputs.ref; add run-all-tests; add echo-inputs job; propagate ref; refactor job if conditions with always()/cancelled(); gate tests by run-all-tests and path filters; normalize ci_success condition.
Release workflow overhaul
.github/workflows/release.yml
Add inputs release_lfx and dry_run; remove runs_on and build_docker_ep; add validate-dependencies; restructure job dependencies and conditions; unify docker push gating with dry_run; update create_release to depend on build-main/publish-main; standardize artifacts and outputs.
Nightly release condition syntax
.github/workflows/release_nightly.yml
Wrap conditionals in ${{ ... }} expressions; no logic change beyond evaluation correctness.
Docker build pipelines (stable)
.github/workflows/docker-build-v2.yml
Convert conditionals to ${{ ... }}; add provenance: false to build/push; harden version extraction via uv tree 2>/dev/null and grep/cut; refine tag/arch handling; normalize manifest condition.
Docker build pipelines (nightly)
.github/workflows/docker-nightly-build.yml
Use ${{ ... }} conditions; add provenance: false; rename tags to new nightly naming scheme; harden uv tree parsing; update manifest/tag arch derivation and guards.
Docs deploy workflows Node bump
.github/workflows/deploy-docs-draft.yml, .github/workflows/deploy_gh-pages.yml
Update actions/setup-node to Node.js 22.
Docs/tests Node bump
.../docs_test.yml, .../jest_test.yml, .../js_autofix.yml, .../lint-js.yml, .../smoke-tests.yml
Bump Node.js version to 22; no control-flow changes.
Python tests + LFX
.github/workflows/python_test.yml
Bump Node.js to 22; add lfx-tests job with checkout, env setup, run lfx tests, DO_NOT_TRACK=true.
TypeScript tests
.github/workflows/typescript_test.yml
Bump Node.js to 22; in merge-reports, checkout with ref: ${{ inputs.ref

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Developer
  participant GH as GitHub Actions
  participant CI as CI Workflow
  participant PF as Path Filter
  participant Jobs as Test Jobs

  Dev->>GH: Trigger CI (workflow_dispatch/workflow_call)\ninputs: ref, run-all-tests
  GH->>CI: Start workflow
  CI->>CI: echo-inputs (print ref, run-all-tests)
  CI->>PF: Evaluate should-run-ci / should-run-tests
  alt run-all-tests == true
    CI->>Jobs: Run all test jobs (if not cancelled)
  else path-based
    PF-->>CI: Paths changed flags
    CI->>Jobs: Conditionally run relevant test jobs
  end
  CI->>CI: ci_success step guarded by always() and not cancelled()
  CI-->>GH: Report outcome
Loading
sequenceDiagram
  autonumber
  actor Rel as Release Trigger
  participant GH as GitHub Actions
  participant VTag as validate-tag
  participant VDep as validate-dependencies
  participant CI as ci (with inputs.ref, run-all-tests=true)
  participant BBase as build-base
  participant BMain as build-main
  participant Pub as publish-main
  participant RelJob as create_release

  Rel->>GH: Trigger release.yml\ninputs: release_package_base/main, release_lfx, dry_run
  GH->>VTag: Validate tag
  GH->>VDep: Ensure main implies base
  VTag-->>CI: ok
  VDep-->>CI: ok
  GH->>CI: Run CI (unconditional runs-on)
  par Build
    GH->>BBase: if release_package_base
    GH->>BMain: if release_package_main
  end
  BMain-->>Pub: Build outputs (version, dist-main)
  GH->>Pub: Publish if not dry_run and push_to_registry
  Pub-->>RelJob: Publish success
  alt not dry_run and success and not cancelled
    GH->>RelJob: Create GitHub Release using BMain version and dist-main
  else
    GH-->>RelJob: Skip
  end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60–90 minutes

Possibly related PRs

Suggested labels

enhancement, size:M, lgtm

Suggested reviewers

  • lucaseduoli
  • ogabrielluiz

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Test File Naming And Structure ❓ Inconclusive Unable to verify compliance because no automated inspection could be performed within the provided instructions and context, leaving the state of test file naming and structure uncertain. Please supply additional evidence or allow repository analysis so we can confirm whether test files follow the required naming conventions, structure, and coverage expectations.
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly captures the primary updates by referencing both the release-related fixes and the new flag to force a full CI run, which aligns directly with the PR objectives and changes in the workflows. It is concise, clear, and specific enough for a reviewer to understand the main purpose without extraneous detail. Therefore it accurately reflects the core modifications introduced in this changeset.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Test Coverage For New Implementations ✅ Passed All files modified in this PR are GitHub Actions workflows, introducing no new production code, components, or bug fixes; therefore, no corresponding tests are required or missing. Since the changes are limited to CI configuration updates, the absence of new or updated test files is appropriate and consistent with project conventions.
Test Quality And Coverage ✅ Passed The pull request only modifies GitHub Actions workflows—there are no backend, frontend, or API implementation changes—so no new application behavior requires testing, making the absence of additional tests acceptable for this update.
Excessive Mock Usage Warning ✅ Passed No test files were added or modified in this pull request—only GitHub Actions workflow YAML files changed—so there is no new or altered test code to inspect for excessive mock usage, and the existing repository tests are outside the scope of this assessment. Consequently, there is no evidence of problematic mocking introduced by this PR.

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Oct 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 24.21%. Comparing base (f07ade6) to head (20ab8e4).
⚠️ Report is 2 commits behind head on main.

❌ Your project status has failed because the head coverage (47.20%) is below the target coverage (55.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #10066      +/-   ##
==========================================
- Coverage   24.21%   24.21%   -0.01%     
==========================================
  Files        1086     1086              
  Lines       40044    40067      +23     
  Branches     5541     5546       +5     
==========================================
+ Hits         9696     9701       +5     
- Misses      30177    30195      +18     
  Partials      171      171              
Flag Coverage Δ
backend 47.20% <ø> (+0.01%) ⬆️
frontend 10.10% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jordanrfrazier jordanrfrazier changed the title ci: more release fixes ci: release fixes; add flag to always run full CI during release Oct 1, 2025
Copy link
Collaborator

@edwinjosechittilappilly edwinjosechittilappilly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good. Need more eyes on ci.yml

Copy link
Member

@Cristhianzl Cristhianzl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@jordanrfrazier jordanrfrazier marked this pull request as ready for review October 3, 2025 15:54
@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

Frontend Unit Test Coverage Report

Coverage Summary

Lines Statements Branches Functions
Coverage: 11%
10.95% (2889/26373) 4.57% (926/20247) 6.51% (372/5711)

Unit Test Results

Tests Skipped Failures Errors Time
1200 0 💤 0 ❌ 0 🔥 15.06s ⏱️

@github-actions

This comment has been minimized.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Oct 3, 2025

@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

Build successful! ✅
Deploying docs draft.
Deploy successful! View draft

@jordanrfrazier
Copy link
Collaborator Author

Need to skip reqs so I can get nightly fixed

@jordanrfrazier jordanrfrazier merged commit a8334c0 into main Oct 3, 2025
33 of 34 checks passed
@jordanrfrazier jordanrfrazier deleted the allow-skipping-lfx-for-v1.6.1-patch branch October 3, 2025 17:56
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.

3 participants