925 Commits

Author SHA1 Message Date
Előd Illés
0ae6731553 Replace old sdist and wheel build command in validate
The new way of packaging a python project is via build package. This
patch replaces the old setup.py style sdist and wheel build.

Change-Id: I67cbdfdfd9ed334e742ff4def21c59cd8a8de24c
2023-04-21 16:38:13 +02:00
Előd Illés
5ac58d4a98 Fix E275 error with latest flake8
hacking 6.0.0 release contains flake8 5.0.4, which started to show the
following error:

./openstack_releases/versionutils.py:54:14: E275 missing whitespace after keyword
        yield('Version %s looks like a pre-release and the release '

This patch adds a whitespace after the 'yield' keyword to make the pep8
job pass.

Change-Id: I433ccb6a31cc450a666673374b78dcc1fea1bb7b
2023-04-19 14:59:16 +02:00
Zuul
2e15253474 Merge "Fix propose-final-releases command to use release-id" 2023-03-23 11:33:01 +00:00
Előd Illés
d326f313df Mark 2023.1 Antelope as released
Change-Id: I4c72f914cecbae842025cf1831351145d5ddf25c
2023-03-22 09:49:59 +01:00
Hervé Beraud
14484c5055 Fix propose-final-releases command to use release-id
With the new release identification / naming schema [1] (like:
2023.1 Antelope) new stable branch naming was introduced (like:
stable/2023.1). This was not handled in the propose-final-releases command as
it still uses the release name. This patch fixes this by reading the
'release-id' field from series_status.yaml and if present then uses it
as stable/<release-id> for the branch creation.

[1] https://governance.openstack.org/tc/reference/release-naming.html

Change-Id: Ie8ba3e9bfa01148e93f5920050703e998248db11
2023-03-20 11:05:56 +01:00
Zuul
54c1126a53 Merge "Fix for independent projects" 2023-03-14 09:27:28 +00:00
Hervé Beraud
fb08afc1fa Fix gitutils to use release-id
With the new release identification / naming schema [1] (like:
2023.1 Antelope) new stable branch naming was introduced (like:
stable/2023.1). This was not handled in check_branch_sha method
in validate.py, as the method still searches stable/$series.

This patch fixes this by reading the 'release-id' field from
series_status.yaml if present and uses it as stable/<release-id>
for the branch search.

[1] https://governance.openstack.org/tc/reference/release-naming.html

Change-Id: I014b1d6dc561be4db0fc8faa85fb3133e851acfc
2023-03-10 17:57:53 +01:00
Hervé Beraud
759732ebc1 Fix list-deliverables command to use release-id
With the new release identification / naming schema [1] (like:
2023.1 Antelope) new stable branch naming was introduced (like:
stable/2023.1). This was not handled in the list-deliverables command as it
still uses the release name. This patch fixes this by reading the
'release-id' field from series_status.yaml and if present then uses it
as stable/<release-id> for the branch creation.

[1] https://governance.openstack.org/tc/reference/release-naming.html

Change-Id: Id6a03024fa2268ba233189abfe48556d3530daef
2023-03-06 10:54:11 +01:00
Riccardo Pittau
bb2d6399cd Fix for independent projects
Independent projects do not have "stable" branches, so the
new_release script will fail.
Set version to master and change it accordingly only if it's not
and independent project.

Change-Id: I9ba7f251d64e2bfca5c262acf9b20dc3da23fc87
2023-03-03 16:48:11 +01:00
Zuul
7b8319b5b9 Merge "Fix new-release command to use release-id" 2023-03-03 14:56:09 +00:00
Előd Illés
32c9bc69eb Fix validator for tagless deliverables
With the new release identification / naming schema [1] (like:
2023.1 Antelope) new stable branch naming was introduced (like:
stable/2023.1). This was not accepted in the validator command.
Previously the validator was fixed for 'std' and 'std-with-versions'
branching typed deliverables, but missed the 'tagless' deliverables
case. This patch fixes this by accepting the new branch naming style,
stable/<release-id>, for tagless deliverables, too.

[1] https://governance.openstack.org/tc/reference/release-naming.html

Change-Id: I6ba51454213e095e6b76e0813dab3ce44b1457ba
2023-02-27 17:16:25 +01:00
Előd Illés
9e0196311a Fix new-release command to use release-id
With the new release identification / naming schema [1] (like:
2023.1 Antelope) new stable branch naming was introduced (like:
stable/2023.1). This was not handled in the new-release command as it
still uses the release name. This patch fixes this by reading the
'release-id' field from series_status.yaml and if present then uses it
as stable/<release-id> for the branch creation.

[1] https://governance.openstack.org/tc/reference/release-naming.html

Change-Id: Ic9888b74b398d14f2a1dc5b6d30bca5f23493b5b
2023-02-27 13:11:34 +01:00
Előd Illés
3f96e774ce propose-library-branches command with release_id
With the new release identification / naming schema [1] (like:
2023.1 Antelope) new stable branch naming was introduced (like:
stable/2023.1). This was not handled in the propose-library-branches
command as it still used the release name. This patch fixes this by
reading the 'release-id' field from series_status.yaml and if
present then uses it as stable/<release-id> for the branch creation.

[1] https://governance.openstack.org/tc/reference/release-naming.html

Change-Id: Ie87862669fb965729e23a9374c34b1ba2e71b445
2023-02-20 18:18:04 +01:00
Előd Illés
27c4dcced7 Fix validator for std-with-versions
For projects that has branch type 'std-with-versions' (like ironic,
because they cut bugfix/<MAJOR>.<MINOR> bugfix branches) the new stable
branch name style (like stable/2023.1) does not pass validator. This
patch extends the validator to accept these branch names, too.

Change-Id: If597684b1a4ea741707ee786e8e01e9e8f3d2cb4
2023-01-20 11:40:59 +01:00
Előd Illés
2b8ee3aaec Fix upper-constraints redirect for new release naming
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
2023-01-14 10:29:27 +01:00
Zuul
17abc97f9b Merge "Fix stable branch naming validation" 2022-12-02 14:37:04 +00:00
Hervé Beraud
032f60e961 Fix stable branch naming validation
This fix aim to solve issues with the new naming convention related to
SLURP releases.

Without that our validation will fail to validate stable branches named
like `stable/2023.1`.

Change-Id: Ic45d4a13f63846e5b60bde800492da7c851addf8
2022-12-02 14:33:14 +01:00
Előd Illés
3306e86b98 Add SLURP mark for Releases page template
This patch adds to the Releases page template the possibility to
indicate whether a release is a SLURP release.

Change-Id: Ie0dcddfe271e8fd77a6d40fa54c8ef2ee6914b78
2022-12-02 11:46:43 +01:00
Előd Illés
671c4b7a09 Update _CLOSED_SERIES set with Wallaby
Validation is not needed for a series as soon as it reaches the
Extended Maintenance state as there won't be any releases from such
branches. This patch updates the set of closed series to avoid
unnecessary validation.

Change-Id: I0f093865bab190273421d966c755434d0369e0a0
2022-10-21 20:01:34 +02:00
Zuul
170d30c907 Merge "Fix base query for empty diff" 2022-10-17 11:26:02 +00:00
Radosław Piliszek
52f52d8340 Fix new-release in interactive mode (-i)
Stop overwriting the target sha value.

Change-Id: Ie8b39bd848c659ac8834b063d5b1e7bb9da2a1e3
2022-10-10 18:18:26 +00:00
Előd Illés
63433942e0 Mark Zed as released
Change-Id: I65d51978ab978b66d6d67c5c323b29dc59c62de8
2022-10-03 11:46:04 +00:00
Előd Illés
bc990ff880 Fix base query for empty diff
When the latest branch cut is from the very same hash as the previous
branch was cut from, then the rev-list gives an empty list. Originally
the last item from the list should have been taken. Since the list is
empty the splitlines()[-1] gives "IndexError: list index out of range".
This patch fixes this case with returning None early.

Change-Id: If5ea4a356b0c7620e2de1d2ab77951d8b76bb5e2
2022-09-30 20:47:06 +02:00
Zuul
7fc4981f74 Merge "Remove PBR-specific validation code" 2022-08-11 13:53:23 +00:00
Thierry Carrez
6075722275 Do not validate PyPI uploaders for new packages
The validate_pypi_permissions test checks that if the package exists on
PyPI, we have permissions to upload it. In order to validate that, it
first checks that the package exists by retrieving JSON information from
PyPI, and assuming that anything returned means the package exists.

However currently PyPI returns {'message': 'Not Found'} when queried for
JSON information about a non-existant package. This makes the test
assume that the package exists but we don't have permissions to upload
it, therefore failing the test.

This fix makes sure an empty dict is returned when an inexistant package
is queried, which makes the test succeed with the following message:

'no %s project data on pypi, assuming it will be created by release'

Change-Id: I27eb82109ab93fe33c339f82ec519feeb7228a1f
2022-08-09 14:34:27 +02:00
Jeremy Stanley
b10e4a0d7d Remove PBR-specific validation code
With the recent switch to using the build utility, this should no
longer be necessary. Even more recent changes in the Python
packaging toolchain seem to have made it stop working anyway, so
remove it and treat PBR's builds like any other project.

Change-Id: I6f9a4546fb6a7b2a4836d6aeea0713f7a7da3002
2022-08-05 15:35:45 +00:00
Előd Illés
e83bb1f69a Uncap jsonschema
With the latest upper constraints updating generated patch [1] the
openstack-tox-docs job started to fail, due to conflict:

ERROR: Cannot install jsonschema<4.0.0 and >=3.2.0 because these
package versions have conflicting dependencies.

The conflict is caused by:
    The user requested jsonschema<4.0.0 and >=3.2.0
    The user requested (constraint) jsonschema===4.7.2

This is because we have jsonschema<4.0.0 in our requirements.txt.
By uncapping the constraint the docs job is passing.

Date validation needed to be updated as well, because a deprecated
usage of validator extending method was used in the code, which was
removed [2] from jsonschema with the 4.0.0 release. This patch replaces
that with adding a TYPE_CHECKER instead.

With the new jsonschema constraint openstack-tox-py36 job does not pass
anymore, but py36 is dropped from zed anyway. That job is pulled in by
an old job template, which needs to be replaced to the new zed job
templates, too.

[1] I89576353371aa87d181610eb6242cbe961487af6
[2] d9f6384060

Closes-Bug: #1982757
Change-Id: Ida6310dd822e587ce9c424a228fdff5192ba0476
2022-07-26 12:24:11 +02:00
Előd Illés
b4e04e95f7 Update _CLOSED_SERIES set
Validation is not needed for a series as soon as it reaches the
Extended Maintenance state. This patch updates the set of closed series
to avoid unnecessary validation. Together with Victoria, now this patch
adds older series, too, that were missed at their transition time.

Change-Id: I3f2b98540757a2370a923d71f8a38e15fbe35985
2022-07-08 15:54:07 +02:00
Iury Gregory Melo Ferreira
83571291e5 Fix typo in build wheel command
A missing comma was causing the strings to be concatenated,
resulting in a wrong command that caused the validate job
to fail.

Change-Id: I7c5dab48db725608c7b1cfa4e8e8034d8225b165
2022-05-06 11:54:57 -03:00
Zuul
f7beb542ab Merge "Replace old sdist and wheel build command in validate" 2022-05-05 09:44:59 +00:00
Előd Illés
97baab754f Replace old sdist and wheel build command in validate
The new way of packaging a python project is via build package. This
patch replaces the old setup.py style sdist and wheel build.

Change-Id: Ia351d099aa3b2491e3a4d255d87bb7c6bd691cac
2022-05-02 20:26:47 +02:00
songwenping
0ffbc53211 Remove six
We don't need this dependency anymore.

Change-Id: I816b9aa687b90299326085b642c992e42c11c029
2022-04-19 10:19:15 +08:00
Előd Illés
4e378ad16f Mark Yoga as released
Change-Id: I088329e61b8fe302f16a7bfd6c97417a6265828a
2022-03-29 19:27:47 +02:00
Radosław Piliszek
50a5af421e Remove references to TC tags
The TC tags framework is discontinued [1], so all references to
TC tags will be invalidated once TC passes the change.
This patch removes these references to avoid breaking the releases
repo.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2022-February/027214.html

Change-Id: Idf5cddc7d1a535e1a9bcc2c2922cf23c3a8d539b
2022-03-16 20:30:07 +01:00
Előd Illés
909d616cf4 Remove stable:follows-policy tag banner
TC tags framework is discontinued [1], so the banner is not needed
anymore in our list-changes command as it won't be triggered.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2022-February/027214.html

Change-Id: Iff26be4cc1701bf31a1030c10fce0b2486da3e85
2022-03-16 20:30:07 +01:00
Hervé Beraud
5d5c666e9f Fix validation when tags are missing and a branch is requested
For further details see
https://review.opendev.org/c/openstack/releases/+/818445

Change-Id: I291ee6e28cc6dcc901295336dd1251b9d28dc0b4
2021-12-02 09:46:12 +01:00
Zuul
0e01c2b149 Merge "List cycle's releases with process_auto_release" 2021-11-12 15:18:45 +00:00
Hervé Beraud
59cabc808c Allow to add reviewers for DPL teams
These teams are PTL-less and not necessary define their
release liaison openstack/release/data/release_liaison.yaml.

The problem is that their official reviewers arn't necessarly
detected.

These changes allow to consider these release liaisons folks.

Change-Id: I29295dddb2619043a43957e5e2c2f64d0787784b
2021-11-08 17:28:43 +00:00
Hervé Beraud
fdbf23bf53 Mark Xena as released
Change-Id: Ie6df621ad1564e1b46b7d8131b3e427173b66432
2021-10-06 15:46:29 +02:00
Hervé Beraud
6d7482db5b List cycle's releases with process_auto_release
Without knowing which releases have been made within the given
series either we shoots in dark in choising the kind of release
(bugfix, feature, major, etc...) or we need to check manually
what are the existing versions. That's time consuming.

These changes simply display the current versions available in
the given series.

Change-Id: Idb160198d52d3bc6b0fa00095b143b19a1f130eb
2021-09-17 11:56:37 +02:00
Hervé Beraud
fa46c1fec4 Adding support of publish-to-pypi-stable-only template for deprecated repo
d7304b6416

Change-Id: I2aaac8414f9d49d1268eb3b8f3ec8c5467480399
2021-08-04 11:27:25 +02:00
Hervé Beraud
9504e96b5d Fix validation to ensure that first release of series isn't a bugfix
We recently observed that this check was skipped. Indeed it was
possible to propose a bugfix version on the first release of a series
without facing validation errors [1].

The described situation was allowed by checks that we introduced
during Wallaby [2]. Those was designed to ensure that we can
build sdist from the proposed tag. Indeed, they temporarly created
the new git tag to build sdist from it. However we never delete this
tag after our tests so this temporary tag is see as an existing tag
and so that led us to the observed bug.

Our validation check that the first version number of series isn't a
bugfix after it tried to build the sdist from the new tag, so, without
this patch the tag newly created by the sdist check remains available
in the repo, and so a couple of next checks are skipped, including the
validation of the version number, because these checks are decorated
to ignore existing tags.

Indeed the function decorated with `skip_existing_tags` detect this
temporary tag as an existing tag, so, the decorated functions are
skipped.

We should notice that it surely impacted other checks in the same manner.
Indeed, all validation functions decorated with this function
`skip_existing_tags` are impacted by this bug.
Hopefully it didn't have too much side effects.

These changes delete the temporary tag after usage to ensure to restore
the initial environment and to stop skipping next checks.

[1] https://review.opendev.org/c/openstack/releases/+/795836
[2] 80652b5232

Change-Id: I5d9024528d08487a7582e0a0e73576b22708a6cf
2021-06-17 13:41:12 +02:00
Hervé Beraud
be083f62db Mark Wallaby as released
Change-Id: I0e68e180f88f85391db5a27fd731ead3d69d67e6
2021-04-13 10:47:10 +02:00
Thierry Carrez
efc876585e Avoid PyPI ratelimit on roles retrieval retry
When validating PyPI settings, we retrieve package roles. If that
retrieval is not successful on the first try, we immediately retry
with a canonicalized version of the package. This sometimes hits
PyPI ratelimits. This patch introduces a one second sleep to avoid
that error.

Change-Id: Ifd20200159a2f136827a1987606b650a6db5588f
2021-03-31 12:36:13 +02:00
Zuul
adca21ef30 Merge "fix nits" 2021-03-16 09:18:29 +00:00
d6820ceb0a Create ovb 2.0 release and cut stable/2.0 branch
Last tag was created more than 2 years ago since
then master have included couple of features and
bug fixes. It would be good to get a tag release
for current master and also a stable/2.0 to backport
fixes into it.

Add stable-branch-type: upstream to allow
naming scheme apart from openstack release names.

Also add seperate release type for openstack-virtual-baremetal
as it's not publishing other pypi or tarball artifacts.

Change-Id: Ia8c9c5e8ad577f6ec1796591e77fddaffa62f008
2021-03-10 19:34:09 +05:30
Hervé Beraud
60f7b61406 fix nits
Change-Id: I7e543ad3265f81f51bd7edbcd1e780991b849c98
2021-03-05 17:32:09 +01:00
Zuul
c9e96c9c20 Merge "Adding a tool to catch projects that missed branching" 2021-03-05 14:20:39 +00:00
Hervé Beraud
c42fa88865 Adding a tool to catch projects that missed branching
This tool will be used in doc addition around the branching period
to ensure that we don't miss to create stable branches for project.

Also this tooling should be used around each trailing deadline to ensure
to not forget a trailing projects. Trailing projects are those who can
easily meet the conditions that lead to forget to branch them.

Adding usage of this tooling in our process to ensure to check that
point once a time at each new series.

Change-Id: I2a8bd25ecfe5bb1bde5af16b08f897a5bdc11cb7
2021-03-03 13:51:12 +01:00
Hervé Beraud
80652b5232 Ensure that we can build sdist from requested tags
Adding validation check to ensure that we are able to build sdist from
the latest tag.

This will allow us to detect sooner when we will try to add a tag to a branch
which is older than another tag already on that branch/in that branch's history

Indeed we recently experienced similar issue [1] with os-collect-config and
tripleo-ipsec where projects hadn't been branched for ussuri [2] and where
we tried to create a new ussuri release [3] on the same hash that an
existing wallaby tag.

Projects have been branched [3] after tags creation [2].

[1] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/020112.html
[2] 688914aa29
[3] ihttps://review.opendev.org/c/openstack/releases/+/772047

Change-Id: Ie2d055f171418e2d35db697dfb1aa17cd449bea9
2021-02-17 17:17:25 +01:00