The new release identification / naming schema [1] (like:
2023.1 Antelope) broke the redirection rules for branch specific upper
constraint files as the stable branch names are from now on based on
the new release identification (like: stable/2023.1).
This patch fixes the redirections by introducing the release ID field
to series status, to translate a release name to 'stable/<release-id>'
where this ID exists.
[1] https://governance.openstack.org/tc/reference/release-naming.html
Change-Id: Iab885d4e36f64903b323e16c74d8315c759584de
We *know* that requirements will have a stable/train branch soon; make
sure clients don't go caching the redirect to master.
Change-Id: I8507d86e4f553b698163be61665267d42e033d91
Related-Change: Ia2e8c46c27ac97217576afdd1677efba4b99fc37
Currently constraint redirectiones that point to EOL releases don't work
as expected due to gitea needed to differentiate between tags and
branches. Rather than fix, and rely on multiple redirects lets just
craft 301's that point to the correct gitea url.
This means we now need to know when a target is a branch or tag but
that's pretty simple to intuit given our deliverable structure.
Change-Id: Ife030f8ee7b5d204b054f99e920a675f7d92da69
Per [1],
> [Permanent redirections] are meant to last forever. They imply that
> the original URL should not be used anymore and that the new one is
> preferred. Search engine robots trigger an update of the associated
> URL for the resource in their indexes.
That doesn't seem like a good idea when we *know* that the redirect
location is going to change, and on a reasonably short time scale. Use
302 instead; 303 or 307 would probably work as well, but 302 should have
very broad client support.
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections
Change-Id: Ia2e8c46c27ac97217576afdd1677efba4b99fc37
Once we have the nest series in series_status.yaml we can add
redirections for those constraints too. This allows us, should we want
to, to have branches refer to the series by name, instead of 'master'.
Change-Id: I0035190d11bf0c0bb43119fde18b5dc22d2cc1a0
Instead of statically listing the redirections move to a dynamic model.
We move the existing _extras/.htaccess to _templates/htaccess so we have
some control and safety of what goes in there. Connect 'build-finished'
from _exts.deliverables.py to trigger generating the redirects. Doing
so here avoids re-reading the data as deliverables.py ahas already done
that for us.
Change-Id: If6bd59fd478593a84ebcedc3a50af3720d620d3c