Skip to content

Decouple framework/ into a standalone Go module#33

Merged
den-rgb merged 1 commit into
opendatahub-io:mainfrom
valdar:fixIndipendentFramework
Jun 29, 2026
Merged

Decouple framework/ into a standalone Go module#33
den-rgb merged 1 commit into
opendatahub-io:mainfrom
valdar:fixIndipendentFramework

Conversation

@valdar

@valdar valdar commented Jun 29, 2026

Copy link
Copy Markdown
Member

Description

  • Replace root-module type aliases with native definitions in framework/api
  • Remove root-module dependency and replace directive from framework/go.mod
  • Add dedicated framework/Makefile with generate/lint/test/verify targets
  • Remove inline cd framework from root Makefile; add *-all delegation targets
  • Update CI workflows to cover both modules independently

How Has This Been Tested?

unit tests

Merge criteria:

  • The commits are squashed in a cohesive manner and have meaningful messages.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

Summary by CodeRabbit

  • New Features
    • Added an “All Modules” Make target group to run common workflows (format, lint, test, tidy, and verify) across both the main project and framework.
  • Bug Fixes
    • Streamlined CI lint/test steps, split framework tests, and expanded Codecov uploads to include framework coverage.
    • Updated release verification to run test-all and improved tidy verification with verify-tidy-all.
  • Breaking Changes
    • Reworked phase-name configuration to use plain strings.
    • Updated framework condition/status model and changed Release version type to an operator-based version.

@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

CI and release workflows switch to root and framework wrapper targets. The root Makefile becomes root-module only, while framework/Makefile adds standalone build, test, lint, generate, and verify targets. Framework API types are defined locally, deepcopy code is added, and reconciler phase names use strings. Test fixtures update JSON tags and map literals to match the revised serialization shapes. Supply-chain-adjacent changes touch CI/CD and module metadata (CWE-829).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 9 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Contribution Quality And Spam Detection ⚠️ Warning Template-heavy PR body with no linked issue/discussion, plus Makefiles install tools to GOPATH/bin instead of honoring GOBIN (review note), a concrete quality miss. Add a linked issue or prior discussion, rewrite the boilerplate with repo-specific rationale, and fix tool installs to respect GOBIN with a GOPATH/bin fallback.
✅ Passed checks (9 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the main change: making framework/ a standalone Go module.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
No Hardcoded Secrets ✅ Passed No hardcoded credentials, embedded auth URLs, private keys, or literal token assignments were found in 226 tracked files; no CWE-798/CWE-321 evidence.
No Weak Cryptography ✅ Passed No MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, roll-your-own crypto, or secret comparisons were introduced in the modified files; SHA256 usages found are non-security hashes.
No Injection Vectors ✅ Passed No CWE-78/89/94/502/79 vectors found in changed code: Go files add only typed structs/methods, workflows run fixed make targets, and Make recipes invoke fixed tools/paths.
No Privileged Containers ✅ Passed No touched Kubernetes/OpenShift manifests, Helm templates, or Dockerfiles; the diff only changes workflows, Makefiles, Go, and tests. No privileged/root flags found (CWE-269/CWE-732).
No Sensitive Data In Logs ✅ Passed No logging statements that expose passwords, tokens, API keys, PII, session IDs, or sensitive data found. CODECOV_TOKEN correctly passed via GitHub Actions environment variable (automatically maske...

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

Comment thread .github/workflows/ci.yaml Outdated
@codecov-commenter

codecov-commenter commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 39 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (main@49b8eaa). Learn more about missing BASE report.

Files with missing lines Patch % Lines
framework/api/zz_generated.deepcopy.go 0.00% 34 Missing ⚠️
framework/api/types.go 0.00% 4 Missing ⚠️
framework/controller/reconciler/reconciler.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #33   +/-   ##
=======================================
  Coverage        ?   36.16%           
=======================================
  Files           ?      111           
  Lines           ?     6058           
  Branches        ?        0           
=======================================
  Hits            ?     2191           
  Misses          ?     3702           
  Partials        ?      165           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 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 @.github/workflows/ci.yaml:
- Around line 23-32: The CI workflow still uses mutable action tags, so update
every referenced GitHub Action in the workflow to a pinned full commit SHA
instead of version tags. Fix this in the workflow jobs that use
actions/checkout, actions/setup-go, golangci/golangci-lint-action in both lint
steps, and codecov/codecov-action so each uses an immutable commit reference.
Keep the existing workflow behavior and settings unchanged while replacing only
the action identifiers.

In `@Makefile`:
- Around line 66-95: Add a verify-fmt-all wrapper in the All Modules section of
the Makefile so CI can run formatting verification across both root and
framework modules. Use the existing verify-fmt target as the root prerequisite,
and mirror the pattern used by verify-tidy-all and verify-generate-all by
invoking the framework Makefile’s verify-fmt target from the new wrapper.
🪄 Autofix (Beta)

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: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 20a2a02e-47d6-4b29-9c61-74c792b78c9e

📥 Commits

Reviewing files that changed from the base of the PR and between 8a1925b and aa655c0.

⛔ Files ignored due to path filters (1)
  • framework/go.sum is excluded by !**/*.sum, !**/*.sum
📒 Files selected for processing (10)
  • .github/workflows/ci.yaml
  • .github/workflows/release.yaml
  • Makefile
  • framework/Makefile
  • framework/api/types.go
  • framework/api/zz_generated.deepcopy.go
  • framework/controller/actions/render/kustomize/action_render_manifests_test.go
  • framework/controller/reconciler/reconciler.go
  • framework/controller/reconciler/reconciler_actions_test.go
  • framework/go.mod
💤 Files with no reviewable changes (2)
  • framework/controller/reconciler/reconciler_actions_test.go
  • framework/controller/actions/render/kustomize/action_render_manifests_test.go

Comment thread .github/workflows/ci.yaml Outdated
Comment thread Makefile
@valdar valdar force-pushed the fixIndipendentFramework branch from aa655c0 to 4816079 Compare June 29, 2026 10:50
@valdar valdar requested a review from lburgazzoli June 29, 2026 10:50
@valdar valdar force-pushed the fixIndipendentFramework branch from 4816079 to f394b4e Compare June 29, 2026 10:52

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 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 `@framework/Makefile`:
- Line 21: The Makefile recipes are expanding user-overridable variables
directly into shell commands, which allows command injection; update the
affected targets to quote or otherwise safely pass the overridable recipe
variables before invoking the shell. Focus on the commands using
$(CONTROLLER_GEN) and the other noted recipes in the Makefile, and ensure any
variables like tool paths or output files are treated as data rather than
executable shell fragments.
- Around line 25-28: The fmt target currently calls golangci-lint via PATH
instead of the resolved binary, so it can miss the formatter on clean machines.
Update the fmt recipe in Makefile to use the same $(GOLANGCI_LINT) variable used
elsewhere, and keep the existing guard so formatting only runs when the binary
is available.
🪄 Autofix (Beta)

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: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: cb8a6b57-1246-4bd8-b7ee-44c140f8fd5d

📥 Commits

Reviewing files that changed from the base of the PR and between aa655c0 and 4816079.

⛔ Files ignored due to path filters (1)
  • framework/go.sum is excluded by !**/*.sum, !**/*.sum
📒 Files selected for processing (15)
  • .github/workflows/ci.yaml
  • .github/workflows/release.yaml
  • Makefile
  • api/common/types_test.go
  • api/common/validation/validate_internal_test.go
  • api/common/validation/validate_test.go
  • framework/Makefile
  • framework/api/types.go
  • framework/api/zz_generated.deepcopy.go
  • framework/controller/actions/render/kustomize/action_render_manifests_test.go
  • framework/controller/reconciler/reconciler.go
  • framework/controller/reconciler/reconciler_actions_test.go
  • framework/go.mod
  • pkg/controller/action/action_test.go
  • pkg/controller/precondition/precondition_test.go
💤 Files with no reviewable changes (2)
  • framework/controller/reconciler/reconciler_actions_test.go
  • framework/controller/actions/render/kustomize/action_render_manifests_test.go
✅ Files skipped from review due to trivial changes (2)
  • framework/api/zz_generated.deepcopy.go
  • api/common/validation/validate_internal_test.go
🚧 Files skipped from review as they are similar to previous changes (5)
  • .github/workflows/release.yaml
  • framework/go.mod
  • Makefile
  • framework/api/types.go
  • framework/controller/reconciler/reconciler.go

Comment thread framework/Makefile Outdated
Comment thread framework/Makefile Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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 `@framework/Makefile`:
- Around line 82-83: The help target in the Makefile is vulnerable because
`help` expands `$(MAKEFILE_LIST)` directly into the shell, allowing command
injection via a crafted `MAKEFILE_LIST` value. Fix the `help` recipe by avoiding
untrusted expansion in the `awk` invocation: use a fixed, trusted filename list
or safely quote/escape each entry before passing it to `awk`. Keep the change
localized to the `help` target and preserve the existing help output behavior.
🪄 Autofix (Beta)

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: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 97f814c1-c241-4ff2-ab08-de890e8a3ce4

📥 Commits

Reviewing files that changed from the base of the PR and between 4816079 and f394b4e.

⛔ Files ignored due to path filters (1)
  • framework/go.sum is excluded by !**/*.sum, !**/*.sum
📒 Files selected for processing (15)
  • .github/workflows/ci.yaml
  • .github/workflows/release.yaml
  • Makefile
  • api/common/types_test.go
  • api/common/validation/validate_internal_test.go
  • api/common/validation/validate_test.go
  • framework/Makefile
  • framework/api/types.go
  • framework/api/zz_generated.deepcopy.go
  • framework/controller/actions/render/kustomize/action_render_manifests_test.go
  • framework/controller/reconciler/reconciler.go
  • framework/controller/reconciler/reconciler_actions_test.go
  • framework/go.mod
  • pkg/controller/action/action_test.go
  • pkg/controller/precondition/precondition_test.go
💤 Files with no reviewable changes (2)
  • framework/controller/reconciler/reconciler_actions_test.go
  • framework/controller/actions/render/kustomize/action_render_manifests_test.go
✅ Files skipped from review due to trivial changes (3)
  • pkg/controller/precondition/precondition_test.go
  • framework/api/zz_generated.deepcopy.go
  • api/common/validation/validate_internal_test.go
🚧 Files skipped from review as they are similar to previous changes (9)
  • .github/workflows/release.yaml
  • .github/workflows/ci.yaml
  • api/common/validation/validate_test.go
  • api/common/types_test.go
  • pkg/controller/action/action_test.go
  • Makefile
  • framework/controller/reconciler/reconciler.go
  • framework/go.mod
  • framework/api/types.go

Comment thread framework/Makefile
@valdar valdar force-pushed the fixIndipendentFramework branch from f394b4e to d26aba1 Compare June 29, 2026 11:01
@valdar valdar requested a review from lburgazzoli June 29, 2026 11:05
@valdar valdar requested a review from den-rgb June 29, 2026 12:54
- Replace root-module type aliases with native definitions in framework/api
- Remove root-module dependency and replace directive from framework/go.mod
- Add dedicated framework/Makefile with generate/lint/test/verify targets
- Remove inline `cd framework` from root Makefile; add *-all delegation targets
- Update CI workflows to cover both modules independently
@valdar valdar force-pushed the fixIndipendentFramework branch from d26aba1 to 3b4444d Compare June 29, 2026 13:27

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
framework/Makefile (1)

67-68: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

CWE-78: untrusted Make variables still reach the shell.

Severity: Major. GOLANGCI_LINT_VERSION, CONTROLLER_GEN_VERSION, and MAKEFILE_LIST are user-overridable, so make golangci-lint GOLANGCI_LINT_VERSION='v2.5.0; <payload>' or make help MAKEFILE_LIST='Makefile; <payload>' turns these targets into arbitrary command execution in CI or developer shells.

Remediation
 ifeq ($(GOLANGCI_LINT),)
-	go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION)
+	go install "github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION)"
 	$(eval GOLANGCI_LINT = $(shell go env GOPATH)/bin/golangci-lint)
 endif
@@
 ifeq ($(CONTROLLER_GEN),)
-	go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_GEN_VERSION)
+	go install "sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_GEN_VERSION)"
 	$(eval CONTROLLER_GEN = $(shell go env GOPATH)/bin/controller-gen)
 endif
@@
 help: ## Display this help.
-	`@awk` 'BEGIN {FS = ":.*##"; printf "\nUsage:\n  make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf "  \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
+	`@awk` 'BEGIN {FS = ":.*##"; printf "\nUsage:\n  make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf "  \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' Makefile

As per path instructions, "MAKEFILE SECURITY: ... Quote shell variables in targets".

Also applies to: 74-75, 81-83

🤖 Prompt for 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.

In `@framework/Makefile` around lines 67 - 68, The Makefile targets that use
GOLANGCI_LINT_VERSION, CONTROLLER_GEN_VERSION, and MAKEFILE_LIST are passing
user-overridable values into shell commands unsafely. Update the golangci-lint,
controller-gen, and help target recipes to quote these variables when
interpolating them into command invocations, and keep the existing target logic
intact so the affected symbols remain easy to locate.

Source: Path instructions

🤖 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 `@framework/Makefile`:
- Around line 68-69: The tool install lookup in the Makefile currently assumes
GOPATH/bin, which breaks when GOBIN is set for go install targets like
golangci-lint and controller-gen. Update the install variable setup to prefer
$(shell go env GOBIN) when it is set, and only fall back to $(shell go env
GOPATH)/bin otherwise, keeping the existing golangci-lint and controller-gen
references intact.

---

Duplicate comments:
In `@framework/Makefile`:
- Around line 67-68: The Makefile targets that use GOLANGCI_LINT_VERSION,
CONTROLLER_GEN_VERSION, and MAKEFILE_LIST are passing user-overridable values
into shell commands unsafely. Update the golangci-lint, controller-gen, and help
target recipes to quote these variables when interpolating them into command
invocations, and keep the existing target logic intact so the affected symbols
remain easy to locate.
🪄 Autofix (Beta)

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: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 93549ec5-d0fa-4249-b2cc-569e02ff4a70

📥 Commits

Reviewing files that changed from the base of the PR and between d26aba1 and 3b4444d.

⛔ Files ignored due to path filters (1)
  • framework/go.sum is excluded by !**/*.sum, !**/*.sum
📒 Files selected for processing (15)
  • .github/workflows/ci.yaml
  • .github/workflows/release.yaml
  • Makefile
  • api/common/types_test.go
  • api/common/validation/validate_internal_test.go
  • api/common/validation/validate_test.go
  • framework/Makefile
  • framework/api/types.go
  • framework/api/zz_generated.deepcopy.go
  • framework/controller/actions/render/kustomize/action_render_manifests_test.go
  • framework/controller/reconciler/reconciler.go
  • framework/controller/reconciler/reconciler_actions_test.go
  • framework/go.mod
  • pkg/controller/action/action_test.go
  • pkg/controller/precondition/precondition_test.go
💤 Files with no reviewable changes (2)
  • framework/controller/reconciler/reconciler_actions_test.go
  • framework/controller/actions/render/kustomize/action_render_manifests_test.go
✅ Files skipped from review due to trivial changes (2)
  • framework/api/zz_generated.deepcopy.go
  • api/common/validation/validate_internal_test.go
🚧 Files skipped from review as they are similar to previous changes (9)
  • .github/workflows/release.yaml
  • .github/workflows/ci.yaml
  • api/common/types_test.go
  • api/common/validation/validate_test.go
  • pkg/controller/precondition/precondition_test.go
  • framework/controller/reconciler/reconciler.go
  • pkg/controller/action/action_test.go
  • Makefile
  • framework/api/types.go

Comment thread framework/Makefile
Comment on lines +68 to +69
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION)
$(eval GOLANGCI_LINT = $(shell go env GOPATH)/bin/golangci-lint)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

Does go install module@versioninstall binaries intoGOBINwhenGOBINis set, otherwise into$GOPATH/bin?

💡 Result:

Yes, the go install command installs binaries into the directory specified by the GOBIN environment variable if it is set [1][2]. If GOBIN is not set, it defaults to $GOPATH/bin, or if GOPATH is not set, it defaults to $HOME/go/bin [1][2]. This behavior applies regardless of whether you are using the module-aware version of the command (e.g., go install module@version) or installing a package within a local module context [1][2]. You can verify the specific install destination on your system at any time by running the command go list -f '{{.Target}}' [3].

Citations:


🏁 Script executed:

sed -n '1,120p' framework/Makefile

Repository: opendatahub-io/odh-platform-utilities

Length of output: 2756


Use GOBIN before GOPATH/bin for tool installs. go install ...@version writes to GOBIN when it is set, so $(shell go env GOPATH)/bin misses both golangci-lint and controller-gen in overridden environments. Use $(shell go env GOBIN) with a GOPATH/bin fallback here.

🤖 Prompt for 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.

In `@framework/Makefile` around lines 68 - 69, The tool install lookup in the
Makefile currently assumes GOPATH/bin, which breaks when GOBIN is set for go
install targets like golangci-lint and controller-gen. Update the install
variable setup to prefer $(shell go env GOBIN) when it is set, and only fall
back to $(shell go env GOPATH)/bin otherwise, keeping the existing golangci-lint
and controller-gen references intact.

@den-rgb

den-rgb commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

I've noticed some of the changes remove the improvements i've identified here: opendatahub-io/opendatahub-operator#3575 (comment) , I understand the changes here are to concretely align with what already exists, so I just want to make sure this wasn't accidental.

@den-rgb

den-rgb commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Also given the fact we now have a generated deep copy with probably should add a verification command for it, could be a follow up just pointing it out.

@valdar

valdar commented Jun 29, 2026

Copy link
Copy Markdown
Member Author

I've noticed some of the changes remove the improvements i've identified here: opendatahub-io/opendatahub-operator#3575 (comment) , I understand the changes here are to concretely align with what already exists, so I just want to make sure this wasn't accidental.

It was intentional, because, without this changes, porting opendatahub-io/opendatahub-operator#3575 to use this repo would result in 166 files touched and it is simply too much as a first step. Once that pr is moved to use this repo and merged, we can do improvements in a more incremental way.

@valdar

valdar commented Jun 29, 2026

Copy link
Copy Markdown
Member Author

Also given the fact we now have a generated deep copy with probably should add a verification command for it, could be a follow up just pointing it out.

+1 on the follow up pr

@den-rgb den-rgb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

/lgtm

@den-rgb den-rgb merged commit 31d952c into opendatahub-io:main Jun 29, 2026
4 checks passed
@valdar valdar deleted the fixIndipendentFramework branch June 29, 2026 14:46
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.

4 participants