Problem/Motivation
In update_calculate_project_update_status() docblock there is explanation of how recommended releases are determined.
*
* - 1.6-bugfix <-- recommended version because 1.6 already exists.
* - 1.6
*
* or
*
* - 1.6-beta
* - 1.5 <-- recommended version because no 1.6 exists.
* - 1.4
*
In the example there is not special logic around the "bugfix" string just the extra string and whether the regular version comes before or after the version without the extra string at the end.
There is no test coverage for this. It was almost removed in #3074993: Use "current" in update URLs instead of CORE_COMPATIBILITY to retrieve all future updates.
I also think this functionality will not work for core or contrib when starts to use semantic versioning. Will confirm this in a test only patch.
Currently core does not do this type of release so it hasn't been a problem.
Proposed resolution
Add tests
Confirm if work for both 8.x-1.0 style versions and semantic versions
Remaining tasks
all
User interface changes
API changes
Data model changes
Release notes snippet
| Comment | File | Size | Author |
|---|---|---|---|
| #9 | 3105463-9.patch | 17.29 KB | tedbow |
| #9 | interdiff-6-9.txt | 19.41 KB | tedbow |
| #6 | 3105463-6.patch | 22.14 KB | tedbow |
| #4 | 3105463-4-tests-plus-3.patch | 25.61 KB | tedbow |
| #4 | 3105463-4-test-only.patch | 24.38 KB | tedbow |
Issue fork drupal-3105463
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
tedbowHere is patch that removes the logic. I think this will pass all tests. Just proves the lack of test coverage.
This should cause the new tests to fail when they are written
Bumping to critical because I think this should get in before #3074993: Use "current" in update URLs instead of CORE_COMPATIBILITY to retrieve all future updates which is critical
Comment #3
tedbowdrupalci fix
Comment #4
tedbowhere is test only patch for contrib and another patch with the tests plus the patch #3 to show that it cause a fail with proper test coverage
Comment #6
tedbow3105463-4-tests-plus-3.patch proves what the new test coverage covers.
Here is complete patch without the drupalci changes.
Comment #7
tedbowComment #8
tedbowCreated #3105492: A pre-release update will be recommended for semantic version updates if the patch number is equal to the patch number from the previous release to show the bug that affects semantic version updates
Comment #9
tedbowUpdated XML fixtures after #3074993: Use "current" in update URLs instead of CORE_COMPATIBILITY to retrieve all future updates was committed
Comment #10
mpdonadioMaybe update that there is nothing special about the string "bugfix"?
Comment #11
mpdonadioComment #12
xjmComment #13
xjmComment #14
dwwI don't think this is at all critical. This is some weird edge-case stuff that doesn't really matter, given d.o release policy, tag/release mapping requirements, etc. I don't believe folks can actually create releases like this on d.o. I don't think this issue blocks anything, or is particularly urgent. Probably removing the code for this is more important than adding tests about it.
Comment #15
tim.plunkettAgreed with #14, untagging as well
Comment #19
tedbow