summaryrefslogtreecommitdiffstats
path: root/packaging (follow)
Commit message (Collapse)AuthorAgeFilesLines
* release.py - Use changelog requirements (#83920)Matt Clay2024-09-091-1/+1
| | | | | | Use the changelog sanity test requirements instead of the package-data sanity test requirements. This enables removal of most package-data sanity test requirements, as they are no longer used by the test itself. The additional requirements were being maintained only to provide pinned requirements for building the changelog during a release.
* release.py - Include pyproject.toml in git add (#83892)Matt Clay2024-09-041-0/+1
|
* release.py - Add missing setuptools arg to prepare (#83887)Matt Clay2024-09-031-1/+1
| | | | | | | | | * release.py - Add missing setuptools arg to prepare This allows the prepare command to accept the `--no-setuptools` argument. It also fixes a traceback when using the `prepare` command. * Use a more accurate type hint
* release.py - Auto-update setuptools upper bound (#83713)Matt Clay2024-08-051-15/+75
| | | | | | | | | | | When releases are prepared, the upper bound on setuptools in pyproject.toml will be automatically updated to the latest version available on PyPI. This version will then be tested by the package-data sanity test during the release process and will be used to build the release. This change ensures that a released version of ansible-core can be built in the future if a new setuptools release includes breaking changes that would prevent building a functional package. If a downstream package maintainer requires a newer setuptools version than the upper bound permits, they can patch pyproject.toml as needed. Since ansible-core releases support specific Python versions, lack of support for new setuptools releases will have no effect on support for future Python versions.
* Quality-of-life improvements for release tool (#83551)Matt Clay2024-07-091-2/+7
| | | | | | | | * Quality-of-life improvements for release tool - Default devel releases to b1 - Default non-devel releases to rc1 - Default to release announcement to console - Avoid auto-links in GH release annoucements for file sizes
* Remove Python 3.10 support for the controller (#83221)Martin Krizek2024-06-171-2/+3
| | | Fixes #83094
* Update sdist path in release toolMatt Clay2024-04-161-1/+1
| | | | The latest setuptools package uses a normalized package name for the sdist.
* tarfile: Handle deprecation warning for extract and extractall (#81545)Abhijeet Kasurde2023-08-311-1/+5
| | | | | | | | | | | | | * Python 3.11.4 introduces a new parameter 'filter' in extract and extractall in tarfile. Handle deprecation warning message emitted in Python 3.12. * added probing mechanism in ansible-galaxy code to detect broken data filter implementation in tarfile. Fixes: #80832 Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com> Co-authored-by: Matt Clay <matt@mystile.com>
* Remove obsolete text from release.py PR template (#81526)Matt Clay2023-08-161-4/+0
|
* Clean up release script (#81488)Matt Clay2023-08-101-14/+48
| | | | | | | | | | | | | | | | | | | | | | | | | * Enable mypy for the entire packaging directory * Return CompletedProcess only when capturing output This allows stdout/stderr on CompletedProcess to be `str` instead of `str | None`. The unused args on CompletedProcess have been removed. Overload type hints have been added to reflect these changes. * Relax return type on ensure_venv This improves consistency with its usage, since `run` accepts `env` of `dict[str, t.Any]`. Also removed unnecssary `str()` usage when updating `env`. * Fix type hint on suppress_when * Fix callable annotation * Add type hint for command_parser PyCharm complains about using a protected member, and also that it can't find the type in the type stubs. However, mypy properly recognizes the type. * Avoid unnecessary TypeVar usage
* Fix f-string whitespace in release script (#81477)Matt Clay2023-08-091-1/+1
|
* Omit pre-built man pages from sdist (#81395)Matt Clay2023-08-018-502/+433
| | | | | | | | | Since man pages aren't accessible to users after a `pip install`, there's no need to include them in the sdist. This change makes it trivial to build man pages from source, which makes them much easier to iterate on. It also simplifies creation and testing of the sdist, since it no longer requires building man pages. The new `packaging/cli-doc/build.py` script can generate both man pages and RST documentation. This supports inclusion on the docs site without a dependency on `ansible-core` internals. Having a single implementation for both simplifies keeping the two formats in sync.
* Include subcommands in generated man pages (#81378)Matt Clay2023-07-311-10/+22
| | | Sub commands of `ansible-galaxy role` and `ansible-galaxy collection` are now documented.
* Fix command doc lookup in man page generation (#81365)Matt Clay2023-07-291-1/+1
|
* Exclude internal options from man pages and docs (#81360)Matt Clay2023-07-281-0/+2
|
* Remove hacking dir dependency from build backend (#81021)Matt Clay2023-06-103-3/+439
| | | | | * Copy man generation files into build backend * Use copied files in build backend
* Remove docs dir dependency from man page build (#81003)Matt Clay2023-06-081-1/+0
|
* pep517 backend - Copy symlinks when copying source (#80690)Matt Clay2023-05-021-1/+1
|
* Release tool improvements (#80641)Matt Clay2023-05-011-1/+50
| | | | | * Provide reproducible sdist builds. * Use reproducible wheel builds. * Add PyPI artifact checks.
* pep517 backend - Use correct import_module import (#80480)Matt Clay2023-04-121-1/+1
|
* Remove obsolete release bits (#80347)Matt Clay2023-03-296-354/+0
| | | | Releases are now built using the `packaging/release.py` tool. This makes the `Makefile` and associated files in `packaging/release/` and `packaging/sdist/` obsolete.
* New upstream release tool (#80179)Matt Clay2023-03-271-0/+1420
|
* 📦 Switch sdist build-system to pure setuptools (#80255)Sviatoslav Sydorenko2023-03-201-0/+14
| | | | | | | | | | | | | | | | | | | This patch modifies the in-tree build backend to build sdists that swap out pointers to it in the `pyproject.toml`'s `[build-system]` section. The effect of this is that the first build from source (for example, from a Git checkout) uses our PEP 517 in-tree build backend. But the produced tarball has `build-backend` set to `setuptools.build_meta` which is the native build backend of `setuptools`. So any following builds from that sdist will skip using the in-tree build backend, calling the setuptools' one. The good news is that if the first build generated the manpages, they will be included and won't go anywhere even though, a different build system is in place. Combined with #80253, this will make sure not to modify the current source checkout on that first build. Co-authored-by: Matt Clay <matt@mystile.com>
* Make isolated source changes @ PEP 517 backend (#80253)Sviatoslav Sydorenko2023-03-201-16/+45
|
* 🎨 Convert RST to manpage in-memory @ PEP 517 (#80098)Sviatoslav Sydorenko2023-02-281-23/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add _convert_rst_in_template_to_manpage arg types * 📦 Make manpage build dependencies conditional Previously, said dependencies were declared as unconditionally required even when manpages not needed to be built. This patch Makes it so they are only required when needed. * Correct _generate_rst_in_templates returned type It was marked as Path before this patch but in fact, it's iterable of paths. * 🎨 Convert RST to manpage in-memory @ PEP 517 Previously, the automation was writing a temporary templated RST on disk and calling a helper CLI script on that. But with this change, it happens with less unnecessary I/O. Co-Authored-By: Matt Davis <6775756+nitzmahone@users.noreply.github.com> * 📦Expose sdist manpage build deps unconditionally Due to a bug in pypa/build, the `get_requires_for_build_sdist()` hook is always invoked with `config_settings=None`. This means that we cannot conditionally extend build requirements in said hook. As a workaround, this patch makes hook pretend that `--built-manpages` is always passed. Ref: https://github.com/pypa/build/issues/559. --------- Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
* Remove straight.plugin dependency (#80084)Matt Clay2023-02-241-1/+0
|
* 📦 Integrate manpage builds into PEP 517 build backendSviatoslav Sydorenko2023-02-233-0/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch creates a thin wrapper around the `setuptools`' PEP 517 build backend in-tree. It features an ability to request generating the manpage files in the process of building a source distribution. This toggle is implemented using the `config_settings` mechanism of PEP 517. One must explicitly pass it a CLI option to the build front-end to trigger said behavior. The packagers are expected to use the following call: python -m build --config-setting=--build-manpages This option has no effect on building wheels. 🧪 The change includes integration tests This test runs building and re-building sdists and wheels with and without the `--build-manpages` config setting under the oldest-supported and new `setuptools` pinned. It is intended to preserve the interoperability of the packaging setup across Python runtimes. An extra smoke test also verifies that non PEP 517 interfaces remain functional. PR #79606 Co-authored-by: Matt Clay <matt@mystile.com>
* Remove unofficial packaging.Matt Clay2021-10-1417-271/+0
| | | | | | | | Unofficial packaging should be maintained externally since it is not tested in CI or used in the official release process. Maintainers of unofficial packages are better equipped with the necessary expertise and testing resources to support alternative packaging.
* Remove PyCrypto (#74699)Sam Doran2021-05-181-8/+0
| | | | | | | | | * Remove PyCrypto from setup.py and packaging script * Remove mention of pycrpto from installation docs * Remove PyCrypto from vault * Remove pycryto constraint and unit test requirement * Remove PyCrypto tests from unit tests * Add docs and fix warning message * Remove section about cryptography library in Ansible Vault docs
* renamed: ansible-base.{dirs,install} -> ansible-core.{dirs,install} (#74159)Deric Crago2021-04-062-0/+0
|
* Rename to ansible-core (#72594)Rick Elrod2020-11-133-5/+5
| | | | | | | | | | Change: - Initial set of changes for renaming to ansible-core - Includes changelog fragment changes from base -> core - Does NOT include docs changes - Modifies detection stuff in setup.py to support ansible<2.9 and ansible-base Test Plan: - ci_complete
* Use antsibull-changelog instead of packaged changelog generator (#69313)Felix Fontein2020-06-112-836/+1
| | | Replace the ansible-base changelog linting and generation tool with antsibull-changelog and make it available for linting collections. Previously changelog linting was limited to ansible-base.
* fix debian control file copypaste fail (#69715)Rick Elrod2020-05-271-1/+1
| | | Signed-off-by: Rick Elrod <rick@elrod.me>
* More fixes for debian ansible-base builds (#69714)Rick Elrod2020-05-273-4/+4
| | | | | | | | | Change: Fix files that got missed in 04ec72160 Test Plan: Local Ubuntu 20.04 VM Signed-off-by: Rick Elrod <rick@elrod.me>
* Fixes for building ansible-base .debs, using py3 (#69534)Rick Elrod2020-05-164-9/+9
| | | | | | | | | | | | | Change: - Changes for ansible -> ansible base - Bump to py3 for 2.10 PPA release Test Plan: - Local VM; Jenkins after merge. Tickets: - Refs #57342 Signed-off-by: Rick Elrod <rick@elrod.me>
* Remove RPM packaging infrastructure (#69554)Rick Elrod2020-05-161-313/+0
| | | | | | | | | | | | | | | | | Change: - Nuke `make rpm` and friends from Makefile - Nuke packaging/rpm We are no longer going to be pushing RPMs to releases.ansible.com post-2.10, so this is no longer necessary for us, and users should prefer RPMs from their distro instead. Test Plan: Grepped the Makefile for all of: /rpm/i, /mock/i, /fedora/i Tickets: Refs #69539 Signed-off-by: Rick Elrod <rick@elrod.me>
* remove azure extras and extras_require support (#67822)Matt Davis2020-03-231-39/+0
| | | | | | | | | | | | * remove azure extras and extras_require support * Since Azure will be collectionized, the requirements will float more frequently than Ansible releases; the Azure collection needs to host the requirements now. * Removed the dynamic extras support as well, since Azure was the only thing using it. If we need it again, it's easy to pull back from history. * Mark azure-requirements as orhpaned. This keeps the docs around so that existing links from old test runs remain valid. Co-authored-by: Matt Clay <matt@mystile.com>
* Vmss scale in policy (#66512)haiyuan_zhang2020-01-161-4/+4
| | | | | | * azure_rm_virtualmachinescaleset: add scale_in_policy and terminate_event_notification * azure_rm_virtualmachinescalesetinstance: add vmss instance protection policy support
* Update and cleanup Arch packaging (#64747)Martin2020-01-152-68/+3
|
* debian: install lib in dist-packages (#64412)Gonéri Le Bouder2019-11-052-2/+4
| | | | | | | | | | | | On Ubuntu Precise and Trusty, the build was failing because the Ansible libs were installed in /usr/lib/python2.7/site-packages. According to the Debian Policy (2.5), they should actually be install in /usr/lib/python2.7/dist-packages This is also CDBS default behaviour since 0.4.131. See: https://www.debian.org/doc/packaging-manuals/python-policy/ch-python.html Closes: #64160
* Exclude the ansible-test script from the main rpm package (#64277)Toshio Kuratomi2019-11-011-0/+1
| | | | | | We want the script to live in the ansible-test rpm subpackage alongside of its libraries Fixes #64275
* CentOS8/RHEL8 base don't have all the deps we were specifyingToshio Kuratomi2019-10-051-3/+4
| | | | | We used a few packages for tests which don't exist in RHEL8 base. Don't dep on those so those tests will simply skip
* Fixes to the rpm dependenciesToshio Kuratomi2019-10-011-10/+5
| | | | | | * Remove duplicate bundled provides line in the rpm spec file * Remove jmespath and passlib on RHEL7 as these are optional dependencies which aren't shipped with RHEL7
* Disable setting of -s in shebangToshio Kuratomi2019-09-191-2/+10
| | | | | | | | | RPM builds on Fedora and RHEL create a python shebang line with -s This is not good for ansible since ansible has a lot of optional features which need extra dependencies installed. If the user installs those extra dependencies to their home directory or to /usr/local then the -s will keep them from being used.
* Fix rpm dependencies for ansible-testToshio Kuratomi2019-09-061-1/+1
| | | | Needs to require ansible = version rather than ansible-version
* debian: prepare the ansible-test packageGonéri Le Bouder2019-09-044-6/+32
| | | | | | | - Generate an extra package for `ansible-test`. - Manually install the files because CDBS get confused by our two Python packages - Refresh the package descriptions to match what is done with the RPM
* Update the rpm spec file to include ansible-testToshio Kuratomi2019-09-031-61/+231
| | | | | | | * Include ansible-test in a subpackage * Sync with the ansible engine spec file * Addresses https://github.com/ansible/ansible/issues/60380 to the extent that we're likely to fix that.
* Revert "New Module: NetApp Account (#59939)"Toshio Kuratomi2019-08-291-1/+0
| | | | | | | This reverts commit 6a8dcb8fcbc0e79484067dc8c5b5dda173e73ce2. Reverting this as it breaks CI for azure (more permissions would be needed for our account)
* New Module: NetApp Account (#59939)Chris Archibald2019-08-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * netapp account module for azure * netapp account module for azure * fixes * fixes * add requirements * add requirements * fix issues * add units * add units * updates * updates * fixes * fixes * fies * fixes
* Support Azure IoT hub and related module (#55121)Yuwei Zhou2019-08-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Support iothub creation * raise errordetailexception rather than clouderror * add facts * change requirement * compare endpoint * add documentation * add documentation * add iot device facts * modify line ending * add auth method * add iot module * add consumer group * add the test * enhencement of doc * add list consumer groups * fix lint * fix lint * fix doc * fix doc * Update auzre_rm_iothub related document * changed paramter's type * update type * rename facts -> info * fixed sanity * missed during merge