Skip to content

#1651: push and commit status.json files to ide-urls-status after running the URL update workflow - #2146

Open
laert-ll wants to merge 7 commits into
devonfw:mainfrom
laert-ll:feature/1651-migrate-status-json-files
Open

#1651: push and commit status.json files to ide-urls-status after running the URL update workflow#2146
laert-ll wants to merge 7 commits into
devonfw:mainfrom
laert-ll:feature/1651-migrate-status-json-files

Conversation

@laert-ll

@laert-ll laert-ll commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #1651

Continuation of PR#2003

Implemented changes:

  • Moved status.json handling out of the cli URL model into the url-updater module: StatusJson, UrlStatus and UrlStatusState are relocated, and the old AbstractUrlFile-based UrlStatusFile is replaced by a lightweight Path-based wrapper.
  • The status.json path is now derived from the version folder instead of maintaining a parallel UrlRepository tree; the status repository is passed around as a plain Path.
  • UpdateManager / UpdateInitiator accept the separate ide-urls-status repository, and the update-urls workflow checks it out and pushes to it.

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summarizes what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled
    with internal

@coveralls

coveralls commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 32352409678

Coverage increased (+0.7%) to 73.644%

Details

  • Coverage increased (+0.7%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 97 coverage regressions across 7 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

97 previously-covered lines in 7 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java 38 82.92%
com/devonfw/tools/ide/url/updater/UpdateManager.java 26 38.82%
com/devonfw/tools/ide/url/model/folder/UrlVersion.java 14 68.66%
com/devonfw/tools/ide/url/UpdateInitiator.java 13 0.0%
com/devonfw/tools/ide/url/model/folder/UrlRepository.java 3 50.0%
com/devonfw/tools/ide/json/JsonMapping.java 2 90.91%
com/devonfw/tools/ide/url/model/folder/AbstractUrlFolder.java 1 43.53%

Coverage Stats

Coverage Status
Relevant Lines: 17604
Covered Lines: 13556
Line Coverage: 77.01%
Relevant Branches: 7783
Covered Branches: 5140
Branch Coverage: 66.04%
Branches in Coverage %: Yes
Coverage Strength: 3.27 hits per line

💛 - Coveralls

@laert-ll laert-ll changed the title Feature/1651 migrate status json files #1651: push and commit status.json files to ide-urls-status after running the URL update worklfow Jul 10, 2026
@laert-ll laert-ll moved this from 🆕 New to 🏗 In progress in IDEasy board Jul 22, 2026
@laert-ll
laert-ll force-pushed the feature/1651-migrate-status-json-files branch from d48c394 to b55bccf Compare July 30, 2026 07:05
@laert-ll
laert-ll force-pushed the feature/1651-migrate-status-json-files branch 6 times, most recently from 68f1eaf to b136f67 Compare August 6, 2026 07:59
@laert-ll
laert-ll marked this pull request as ready for review August 6, 2026 08:07
@laert-ll laert-ll moved this from 🏗 In progress to 👀 In review in IDEasy board Aug 6, 2026
@laert-ll
laert-ll requested a review from hohwille August 6, 2026 08:41

@maybeec maybeec left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for picking this back up from #2003 👍 This is a clean split: status.json handling moves out of the cli URL model into url-updater, the UrlStatusFile/StatusJson/UrlStatus/UrlStatusState classes move with it, and the GHA workflow now checks out, updates and pushes both ide-urls and the new ide-urls-status repo. Nice that the old UpdateManager(Path, UrlFinalReport, Instant) constructor was kept and just delegates to the new one — BuildSecurityJsonFiles in the security module still compiles against it unchanged, which is exactly the right way to avoid a breaking signature change.

Against issue #1651's requirements: workflow checks out the new repo ✅, UrlUpdaters write status files into the new repo's mirrored folder structure ✅, workflow commits/pushes both repos ✅. One item from the issue doesn't look addressed here: "We need a new access token to also include write access to the new repo" — see the inline comment on the workflow file.

A few should-fix points below, nothing blocking. Also two small housekeeping notes: the PR is currently shown as behind main by GitHub, so please rebase/update before merging; and the PR title has a small typo ("worklfow" → "workflow").

Comment thread cli/src/main/java/com/devonfw/tools/ide/url/model/folder/UrlVersion.java Outdated
Comment thread url-updater/src/test/java/com/devonfw/tools/ide/url/updater/UrlUpdaterTest.java Outdated
Comment thread .github/workflows/update-urls.yml
@laert-ll
laert-ll force-pushed the feature/1651-migrate-status-json-files branch from 539dce1 to c70b2b8 Compare August 17, 2026 06:27
@hohwille hohwille added this to the release:2026.08.002 milestone Aug 17, 2026

@hohwille hohwille left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@laert-ll thank you for taking over this story. You perfectly catched up the requirements from story and review remarks to bring this to the finishing line. 👍
My remarks are all about managing and saving the new status.json files and the main question I have is, whether after merging the current state, it could happen that we modify a status file in memory but forget to write it to disk what would be a bug causing potential problems. If this is not the case and we finally want to get this done, we can also create a cleanup ticket and merge this PR as is and do the cleanup later when we have time for it.
If you think you can address the review comments quickly and prefer to include them into this PR that is also fine even in case there is no bug.

@laert-ll
laert-ll force-pushed the feature/1651-migrate-status-json-files branch from 747cd27 to 004626a Compare August 20, 2026 06:48
@laert-ll laert-ll changed the title #1651: push and commit status.json files to ide-urls-status after running the URL update worklfow #1651: push and commit status.json files to ide-urls-status after running the URL update workflow Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

Move status.json files out of ide-urls to own repo

4 participants