| Summary: | /downloads/tools/gef/updates/releases is not a composite repo | ||
|---|---|---|---|
| Product: | [Tools] GEF | Reporter: | Ed Willink <ed> |
| Component: | RelEng | Assignee: | gef-inbox <gef-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | nyssen |
| Version: | unspecified | ||
| Target Milestone: | 3.10.1 (Mars SR1) M2 | ||
| Hardware: | PC | ||
| OS: | Windows NT | ||
| Whiteboard: | |||
|
Description
Ed Willink
That's true, we currently merge our releases into a single site. (In reply to Alexander Nyßen from comment #1) > That's true, we currently merge our releases into a single site. which also corrupts e.g. SR0 with SR1. (In reply to Ed Willink from comment #2) > (In reply to Alexander Nyßen from comment #1) > > That's true, we currently merge our releases into a single site. > > which also corrupts e.g. SR0 with SR1. No, why should it? Because there is no 'key' to access SR0. A simple repo provides typically just the latest since that is all the consumer can ask for.
In my Hudson Buckminster *.rmap I need to specify something like :
<rm:uri format="{0}/tools/gef/updates/releases/3.10.0">
but have to make do with
<rm:uri format="{0}/tools/gef/updates/releases">
which is ok today since 3.10.0 is the best content, but after SR1, SR0 is corrupted (occluded) by the SR1 content, and after Neon, a LTS Mars maintenance build gets really hard.
(In reply to Ed Willink from comment #4) > Because there is no 'key' to access SR0. A simple repo provides typically > just the latest since that is all the consumer can ask for. > > In my Hudson Buckminster *.rmap I need to specify something like : > > <rm:uri format="{0}/tools/gef/updates/releases/3.10.0"> > > but have to make do with > > <rm:uri format="{0}/tools/gef/updates/releases"> > > which is ok today since 3.10.0 is the best content, but after SR1, SR0 is > corrupted (occluded) by the SR1 content, and after Neon, a LTS Mars > maintenance build gets really hard. I would not expect clients to consume 3.10.0 after we have officially released a compatible 3.10.1 bugfix release. And even if, we do not remove the SR0 contents from the releases site when publishing SR1, so both are still available. And I know of build systems that support upper version constraints... You seem to miss the point. It is conventional to consume products with e.g. a 3.9 to 4.0 bound range, but a maintenance build should be reproducble, so the contributions to the build are determined by the builder without modifying source code or features. Other projects with a composite releases repo and/or individual releases repo satisfy this without a problem. It is the irregular GEF repo that is inhibiting conventional usage and reproducible builds. You might not expect consumers to require SR0 after SR1 but accidents happen, SR1 might be bad. Much more commonly, SR1 may be suspected to be bad, so narrowing down a releng nightmare requires SR0 to be used to demonstrate that SR1 is not bad. Given our current excitements with changing Java versions and license certificates, provision of releases is particularly important. (In reply to Ed Willink from comment #6) > You seem to miss the point. > > It is conventional to consume products with e.g. a 3.9 to 4.0 bound range, > but a maintenance build should be reproducble, so the contributions to the > build are determined by the builder without modifying source code or > features. > > Other projects with a composite releases repo and/or individual releases > repo satisfy this without a problem. It is the irregular GEF repo that is > inhibiting conventional usage and reproducible builds. > > You might not expect consumers to require SR0 after SR1 but accidents > happen, SR1 might be bad. Much more commonly, SR1 may be suspected to be > bad, so narrowing down a releng nightmare requires SR0 to be used to > demonstrate that SR1 is not bad. Given our current excitements with changing > Java versions and license certificates, provision of releases is > particularly important. I think I got the point quite fine. I know the advantages of a composite repo, and had planned migrating to it already (when switching to a HIPP and discontinuing support for drop files). Its more that I don't like the way you are arguing here. The repo has been like this since 2008 and it did not suddenly become 'irregular' or 'corrupt'. And using respective p2 and tycho technologies I am sure I can reconstruct each individual release from it properly. If we would ship a 'bad' SR, we could still ship a hotfix, so I would still expect adopters to not fall back to an SR0 after we have shipped SR1. And if they wanted, they could still use a drop file, which is still available for each release, or they could consume our contribution from the respective simrel repo. So the fact that our update site is not yet a composite site is not the blocker your argumentation implies. (In reply to Alexander Nyßen from comment #7) > fact that our update site is not yet a composite site is not the blocker > your argumentation implies. It is certainly not a blocker (it's major). I noticed the problem when upgrading my MARS release build to a MARS maintenance build. I'm unable to tie down the release precisely. GEF has had very good stability over the years which is perhaps why this has not been observed before. I raise the bug to highlight the deviation from best practice. I migrated the releases site into the composite site as part of bug #471151. Resolving as fixed in 3.10.1M2. |