Skip to content

When adding a record map to source control, automatically add generated classes - #995

Open
isc-pbarton wants to merge 3 commits into
mainfrom
worktree-add-recordmaps
Open

When adding a record map to source control, automatically add generated classes#995
isc-pbarton wants to merge 3 commits into
mainfrom
worktree-add-recordmaps

Conversation

@isc-pbarton

@isc-pbarton isc-pbarton commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Description

Resolves #955
Adding a record map to source control adds its associated data classes to source control.
Separately, creating a record map will automatically add it to source control.

why source control the generated classes?
They are not automatically generated on compilation. Generation of the data classes is a manual step. If the data classes were not source controlled, there would need to be another manual step on deployment to another environment.

why can't we just reuse the logic in the deployment manager to find related classes?
The deployment manager has some nice logic that will find all classes required by a specific business host so they can be added to a deployment. We originally thought we could use that, and make this more generic than just record maps. But that's not a good fit for source control hooks on record maps because we can't assume a business host exists using the record map.

Testing

Unit tests, plus some manual testing on record maps:

  • configure the IRIS container with a git repository
  • create a new record map in the SMP and click "generate"
  • check source control output to confirm both record map and data class have been exported.

Checklist

  • This branch has the latest changes from the main branch rebased or merged.
  • [N/A] Web UI has been built (any changes in git-webui/src have matching changes in git-webui/release)
  • CHANGELOG.md entry added if appropriate.
  • [N/A] Documentation has been/will be updated

@codecov-commenter

codecov-commenter commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 91.66667% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.92%. Comparing base (51da6a8) to head (7a69474).

Files with missing lines Patch % Lines
cls/SourceControl/Git/Util/RecordMap.cls 91.17% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #995      +/-   ##
==========================================
+ Coverage   49.41%   49.92%   +0.51%     
==========================================
  Files          22       23       +1     
  Lines        3337     3373      +36     
==========================================
+ Hits         1649     1684      +35     
- Misses       1688     1689       +1     

☔ 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@isc-pbarton
isc-pbarton marked this pull request as ready for review August 19, 2026 13:49
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.

Adding a RecordMap class to Git should automatically add the corresponding data class

2 participants