Update the URL to the upper-constraints file to point to the redirect
rule on releases.openstack.org so that anyone working on this branch
will switch to the correct upper-constraints list automatically when
the requirements repository branches.
Until the requirements repository has as stable/2024.1 branch, tests will
continue to use the upper-constraints list on master.
Change-Id: I7ca68d0cb9698514f3fd6e27b2fdacf1b3ca7aa7
The openstack/requirements repo has dropped support for these versions
of python; as a result, some constraints have moved forward to versions
requiring py38+.
Fortunately, the Python ecosystem has gotten much better about specifying
Python version requirements, so we should be clear to just trust the
package metadata to get us a useful version.
Change-Id: I44941d9f7cb145631a0daae2d12cfe85be854f6f
The openstack-python3-jobs template covers py38 and py311, with the
assumption that intermediate Python releases should pass, too. Since
we already have an experimental pipeline to spot-check that tests
still pass on various Python versions, include those intermediate
releases as well.
Change-Id: I0b4e8839ec14a4ad7529a9929f1150e5bc586059
These tests take 5-30x longer than the unit tests & style check; only
run them if there's a reason to think their outcome might have changed.
Change-Id: I2ccee79538f8bf6408e7bfb8a9826201180a41fe
Previously, we ran unconstrained so we could piggy-back off our extras,
but it causes issues in stable gates.
Change-Id: I5b04a1e4d6fb46cdcd50b547aa52290b8bf022ab
Without up-reving hacking python 3.12 can't be used for pep8/flake8
checks. Also address a few new pyflakes issues that seem reasonable
to enforce:
E275 missing whitespace after keyword
H214 Use assertIn/NotIn(A, B) rather than
assertTrue/False(A in/not in B)
H211 do not compare types, use assert{Is,IsNot}Instance
Add F811 (redefinition of unused 'function'), as this check makes
client.py fail.
And noqa some longer lines that we're happy to carry.
Change-Id: Ic97698a310ffe7114b668b8c4bc0195f6997bb45
Currently, dependency resolvers like the one of PDM, cannot resolve the
setup dependencies correctly, as those are hidden inside the python
code of setup.py
Supplement setup.py with pyproject.toml. Note that we can't remove
setup.py yet, as it remains part of OpenStack's Project Testing
Interface.
Change-Id: Ifb414df2577bc9ada78eaa26747da4f4bd673dda
The entry_point option already defines the /bin/swift script implicitly.
The definition of `scripts=bin/swift` ontop of that leads to a corrupt wheel build and can lead to a collision error during installation:
FileExistsError: File already exists: [...]/bin/swift
Closes-Bug: #1996959
Change-Id: I17d0c2b02555172eeedaa164aad956691ccb3b0a
Under py312, MagicMock.has_calls raises an AttributeError. This is
actually a good thing, as previously we weren't actually making the
assertions we thought we were making.
Fix the one place that we forgot the leading `assert_`, and switch it
to `any_order=True`; this is required for the test to pass, as there
are additional calls between the two expected calls.
See https://github.com/python/cpython/commit/1d4d677d
Change-Id: Ia2ff2f198b4c1312a3e7dce32f11b87050683d45
Add file to the reno documentation build to show release notes for
stable/2023.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.
Sem-Ver: feature
Change-Id: I4bd3883583c1ae3e10b07815b8587b1c6be480a8
We no longer need our own py311 job; there is now an openstack-tox-py311
included in openstack-python3-jobs (though we want to make it voting).
Additionally, that template has marked py39 and py310 jobs as voting, so
we no longer need to do that ourselves.
Change-Id: Ie964678af069d5255e463ef22b1b53957d28f918
We haven't tested under pypy since 2020, and haven't done so
*successfully* for even longer.
As that was the only remaining set of packages in bindep.txt,
remove it entirely.
Related-Change: Ibc80d23846b364bfcd82043430ef71ad4b6e271b
Change-Id: I0e4abc482e546f36358f6085a6d5635490f4ac5c
We've had SLO for nearly ten years, and it is preferable for most
use-cases. It's time to default to SLO rather than DLO.
Add a new --use-dlo option to give users a way to return to old
behavior; ensure there is still a --use-slo option so we don't break
existing scripts that may use it.
UpgradeImpact:
==============
The default segmented-upload behavior has changed; Static Large Objects
are now used by default rather than Dynamic Large Objects. To revert to
the old behavior:
* CLI users may use the new `--use-dlo` option
* Service API users may explicitly set `use_slo` to False in their
options dicts
Change-Id: Iebcd64ced8eab6efebb9f02a0c4be6bf6338cb3b
...provided it isn't something to do with certification validation.
Closes-Bug: #1641363
Closes-Bug: #2011731
Change-Id: Ic3acbf431e444fcd8bc0fe79571fe2db4140cf22
Include project_urls so PyPI gets more sidebar links.
Include long_description_content_type to quiet a twine warning.
Change-Id: Id3b90927ba24fd47efdbeeb2107bdae9e86e93ba
If the received content-length does not match expectations, of course
the etag won't match!
Co-Authored-By: Alistair Coles <alistairncoles@gmail.com>
Change-Id: I1a0c066c11b94718fffbb11e13b82d0b16e01626
Seen on Arch Linux:
ModuleNotFoundError: No module named 'pkg_resources'
On new enough Python, we don't need it anyway.
Change-Id: I3d46319a36a1c2477e9f7dae0c7e40a362a17639
Add file to the reno documentation build to show release notes for
stable/2023.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.
Sem-Ver: feature
Change-Id: I757174e91ffd514d97a76886ab728652ddba79e9