Commit Graph

638 Commits

Author SHA1 Message Date
Don Naro
ff356205dc [stable 2.19] Updating new branch (#2522)
* update core stable branch name

* rm devel-only tooling

* rm tagger dependencies
2025-04-16 19:18:46 +02:00
Maxwell G
c671fca04c pr_labeler: fix error in pyproject.toml (#2432)
The correct key-name is `build-backend`, not `backend`.
2025-03-05 10:02:16 -06:00
Abhijeet Kasurde
465331af24 Update ticketing stubs (#2366)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-02-05 12:04:59 -05:00
Felix Fontein
e455e4f1fe Update docs build to support the new antsibull-docs 2.15.0 features (#2001)
* Provide information for antsibull-docs 2.15.0.

* I don't think 'named' will ever get implemented.

* The paths might be relative to the old CWD.

* Show which commands are run.
2024-10-15 19:07:16 +01:00
Don Naro
8c0f92fcdc Matrix not matrix (#2000) 2024-10-10 19:30:44 +01:00
Don Naro
d69846789b update docs team info page (#1996)
* update docs team info page

* Update hacking/pr_labeler/pr_labeler/data/docs_team_info.md

Co-authored-by: Sandra McCann <samccann@redhat.com>

---------

Co-authored-by: Sandra McCann <samccann@redhat.com>
2024-10-10 13:59:07 -04:00
林博仁 Buo-ren Lin
dce75072fa many: Fix title case of Git references (#1938)
* many: Fix title case of Git references

Currently many references of the Git software don't use title case, this
patch fixes them while leaving those that should remain lowercase
intact:

* `git` command call in code blocks.
* Git references in changelog entries should stay consistent with the revision title.

Fixes #1935.

Signed-off-by: 林博仁(Buo-ren Lin) <buo.ren.lin@gmail.com>

* Update docs/docsite/rst/dev_guide/testing_integration.rst

Fix command markup.

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update hacking/README.md

Also fix title case of Python.

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Signed-off-by: 林博仁(Buo-ren Lin) <buo.ren.lin@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2024-09-25 07:32:34 +02:00
Don Naro
dc6a39e00d [devel] update tagger versions for stable-2.18 (#1932)
* tagger versions

* fix typo
2024-09-24 15:07:56 +03:00
Maxwell G
7138e42716 pr_labeler: re-architect triager script (#1882)
This commit reorganizes the issue/PR triager script and updates the
workflow to run more efficiently.

- Make the script a proper Python package instead of an unwieldy single
  file
- Use locked dependencies and UV to decrease workflow runtime to under
  10 seconds.
2024-09-17 14:07:31 -05:00
Lyle McKarns
be4c7259aa Issue #1633 nox session for tagging (#1649)
* WIP tagger session for nox

* First pass tagging nox session

* Formatting fixup

* Adding removal of tmpdir as per discussion

* tag session checks for, and uses, existing ansible checkout if it exists, removes tmpdir if it created one.

* isort fixup

* Working out suggested changes.

* Linting cleanup on changes

* Different approach to noted chagnes

* Reducing tagging session to a bare bones wrapper around the script, leaving all repo management alone

* Staging deletion per discussion

* Adding tag session to dependency update job

* after removing hacking/tagger/requirements.txt moved "gitpython" here for the typing test session requiremnts.

* Adding that here didd not accomplish what I'd expected. Removing it and revisiting how to do that.

* I think this is where the call needed added to get the tags dependencies automatically updated

* remove gitpython, add tag.txt, add blank line

* Comment cleanup per OraNod

* doc README: document nox tag session instead of manual mode

* Update tests/typing.in

Per suggestion from @webnjaz

Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>

---------

Co-authored-by: Maxwell G <maxwell@gtmx.me>
Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
2024-07-23 15:15:34 -05:00
Felix Fontein
adb97e4daa Bump antsibull-docs to 2.10.0 (#1268)
* Bump antsibull-docs to 2.10.0.

* Replace sh usage with subprocess.
2024-04-17 19:39:10 +02:00
Don Naro
b687378a65 format tag.py 2024-04-08 10:59:58 +01:00
Don Naro
09b522a890 Update hacking/tagger/tag.py
Co-authored-by: Maxwell G <maxwell@gtmx.me>
2024-04-08 10:59:58 +01:00
Don Naro
35598f98a0 update tagger for 2.17 2024-04-04 19:37:36 +01:00
Maxwell G
38c01a2065 hacking: add script to create git tags for new Core releases (#1084)
Relates: https://github.com/ansible/ansible-documentation/issues/66
2024-03-17 22:50:30 -05:00
Maxwell G
763815d1ad pr_labeler: refactor new_contributor_welcome code (#990)
* pr_labeler: add GlobalArgs.full_repo property

* pr_labeler: refactor new_contributor_welcome code

As of https://github.com/ansible/ansible-documentation/issues/69, the
pr_labeler responds with a welcome message when an issue or PR is opened
by a new contributor. It turns out this never actually worked properly.

The previous method that relied on Github's `author_association` flag
did not work with the app token that the pr_labeler uses. This refactors
the code to figure out whether a user is a new contributor by
searching the list of issues and PRs.

Fixes: https://github.com/ansible/ansible-documentation/issues/204

* pr_labeler: address potential race condition
2024-01-10 13:27:28 -06:00
Maxwell G
b02dc78b04 get_bot_user: use correct username in committer email (#664)
There is a small error in the Ansible Documentation Bot's committer
email used by the pip-compile jobs. There needs to be a `[bot]` suffix
in the username of a bot.
2023-10-19 12:36:33 -05:00
Maxwell G
95ece7e9d6 pr_labeler: improve porting_guide_changes template wording
Co-authored-by: Sandra McCann <samccann@redhat.com>
2023-10-18 17:14:13 +00:00
Maxwell G
746662c255 pr_labeler: exempt bots from porting_guide check
For example, patchback is not a release manager, but we still want it to
backport Porting Guide PRs.
2023-10-18 17:14:13 +00:00
Maxwell G
dddfd7eb55 pr_labeler: use @release-management-wg team for porting_guide check
Instead of hardcoding the list of release managers, we can use the
Github API to retrieve the members of the
`@ansible/release-management-wg` team.
2023-10-18 17:13:17 +00:00
Maxwell G
d2e6625e8b pr_labeler: add warning for porting_guides changes
This adds a warning message when PRs are created that edit
porting_guides by someone outside of the Release Management WG. These
files are automatically generated during the ansible release process and
should not be modified.

Fixes: https://github.com/ansible/ansible-documentation/issues/503
2023-10-18 17:13:17 +00:00
Maxwell G
44ffe0f210 pr_labeler: add --force-process-closed flag 2023-10-18 17:13:17 +00:00
Maxwell G
5730ba9a01 pr_labeler: improve create_boilerplate_comment logging 2023-10-18 17:13:17 +00:00
Maxwell G
e43d253f6c pr_labeler: stop adding new_triage labels to new PRs (#643)
Fixes: https://github.com/ansible/ansible-documentation/issues/628
2023-10-18 12:12:25 -05:00
Maxwell G
1efa06b8a6 ci: use Github App token to authenticate (#621)
This uses the new Ansible Documentation Bot Github app to authenticate with
the Github API instead of the limited token built in to Github Actions.
The app token allows creating automatic dependency update PRs that
trigger CI properly.
A github-bot environment to store the BOT_APP_ID and BOT_APP_KEY
secrets.

Fixes: https://github.com/ansible/ansible-documentation/issues/382
2023-10-17 14:35:41 -05:00
Maxwell G
cad44e79ca pr_labeler: change link to the DAWGs meeting agenda (#497)
The agenda is now housed on the Ansible Community forum.

Fixes: https://github.com/ansible/ansible-documentation/issues/411
2023-10-04 09:29:07 -05:00
Michelle McCausland
0bc0a653c5 issue-457: Update all occurrences of Ansible core to Ansible Core (#471) 2023-10-02 11:10:53 -04:00
Maxwell G
72f4983406 pr_labeler: allow setting custom repo via CLI (#354)
This makes testing on a different repo easier.
2023-09-09 09:00:23 -05:00
Maxwell G
9e32d15f29 pr_labeler: add nag comment for issues and PRs without description (#353)
* pr_labeler: add issue member to IssueLabelerCtx

Pull requests also support the Github issue API. This allows more easily
writing code that works with both issues and pull requests without extra
conditionals.

* pr_labeler: add dependency on jinja2

* pr_labeler: comment on PRs/issues w/o descriptions

This change adds a job to pr_labeler to leave a comment on PRs and
issues without body text.

It also includes necessary plumbing for rendering jinja2 templates and
idempotently leaving comments on issues.

Fixes: https://github.com/ansible/ansible-documentation/issues/333

* pr_labeler: improve nag comment wording

Co-authored-by: Don Naro <dnaro@redhat.com>

---------

Co-authored-by: Don Naro <dnaro@redhat.com>
2023-09-05 14:28:24 -05:00
Matt Clay
4bbb445c1f Use the new CLI docs generator from ansible-core (#220)
This tool provides a stable interface for generating RST documentation for ansible-core CLI programs.

It avoids having the docs generation process in this repo depending on ansible-core internals that are subject to change.

Relates: https://github.com/ansible/ansible/pull/81395
2023-08-01 23:05:05 +01:00
Maxwell G
feabfb631b labeler: retrieve author_association from event data
The Github Actions API token apparently doesn't have sufficient ACLs to
retrieve this from the API.

Fixes: https://github.com/ansible/ansible-documentation/issues/204
2023-07-31 14:52:56 +01:00
Maxwell G
1f1252d356 labeler: pass Github Action event data to script
This way, the script can take action based on specific events when that
data is available.
2023-07-31 14:52:56 +01:00
Maxwell G
47a86baeb4 labeler: make LabelerCtx un-frozen
This is needed so that the dataclass can have dict and other mutable
types as fields.
2023-07-31 14:52:56 +01:00
Maxwell G
b2ffdfc84f labeler: remove global get_previously_labeled()
Using a @cached_property that's tied to the class instance makes more
sense than a global cache.
2023-07-31 14:52:56 +01:00
Matt Clay
efe9afccc4 Exclude internal options from man pages and docs (#192) 2023-07-29 08:19:17 +02:00
Matt Clay
eb4dc6c59e Fix "Edit on GitHub" links for CLI programs (#188) 2023-07-28 13:07:43 -07:00
Maxwell G
5c48149561 labeler: fix log() type annotations (#165)
print() coerces any object to a str.
2023-07-25 12:15:45 -05:00
Maxwell G
dd27494b8f labeler: add --authed-dry-run flag
Some data such as author_association is only available to authenticated API
users. This helps with testing.
2023-07-25 11:41:17 -05:00
Maxwell G
5c2125dffa labeler: improve logging 2023-07-25 11:41:17 -05:00
Maxwell G
0bb954b18e labeler: welcome new contributors
Fixes: https://github.com/ansible/ansible-documentation/issues/69
2023-07-25 11:41:17 -05:00
Maxwell G
0c56c51999 Add Github Action to label issues and PRs (#118) 2023-07-25 11:20:26 -04:00
Felix Fontein
1a1aa0b880 Remove no longer necessary workaround. (#51) 2023-07-05 09:53:58 +01:00
Matt Clay
b3f1290bcd Remove docs dir dependency from man page build (#81003) 2023-06-08 12:41:45 -07:00
Matt Martz
c1f2a9ea6c No core irc meeting (#80811) 2023-05-16 11:03:42 -05:00
Matt Clay
2cd1744be3 Use ansible.module_utils.common.text.converters (#80704)
Replace use of old `ansible.module_utils._text` and add a unit test to maintain backwards compatibility.
2023-05-03 08:58:00 -07:00
Matt Clay
4d25e3d54f Set the minimum setuptools to 45.2.0 (#80649)
Also update the package-data sanity test to use the minimum setuptools version.
2023-04-26 16:01:56 -05:00
Matt Clay
9026bc5d76 Remove obsolete pkg_resources usage (#80489) 2023-04-11 19:33:57 -07:00
Sviatoslav Sydorenko
a84b3a4e72 Fix misrendered sections in manpage generation
This change fixes bugs in the manpage generator that existed since it
was first added.

It exposes CLI `ARGUMENTS` value to manpage templates.

Before this change, the code contained a typo, causing the `for`-loop
iterate over individual characters of the `'ARGUMENTS'` string rather
than iterating over a tuple. A missing comma was at fault.

The updated code gets rid of the `for`-loop and conditionals since it
seems to have been a premature complexity increase and no other things
than `'ARGUMENTS'` were ever added into the broken iterable.

The functional change is that `arguments` is now always present in the
Jinja2 context, unlike being missing sometimes because of the previous
design (not that it was ever present, because of the bug! sigh...)

The Jinja2 templates perform an `{% if arguments %}` check, letting
the template engine silently ignore the missing variable. The clause
was always falsy, meaning that the arguments section was not included
in the manpages for at least the last 6 years. With this fix, it will
be.

This patch also deduplicates calling `opt_doc_list` @ generate_man.

It was called late in the execution, more times than necessary. This
patch makes sure it happens once by putting it at the top of the scope.

It fixes rendering library and inventory in manpages.

The corresponding Jinja2 templates have blocks wrapped with
conditionals like `{% if inventory %}` and `{% if library %}` but said
variables were never injected into the context, nor were they even
deduced on the Python side of the generator. This means that the
conditional clauses were always falsy, never showing the portions of
the manpages.

The Python script has hints for how the `inventory` variable was to be
calculated, which is confirmed through the Git paleontology efforts.

The block of code that references to the `inventory` bit was
incorrectly checking a variable with a list of nested objects for the
presence of a string which was never going to work.

This patch fixes this check by verifying the CLI flag against the
correct variable containing a list of options and exposes it to the
Jinja2 templates.
It also exposes the `library` variable in a similar way.

The block displaying other binaries in Sphinx CLI docs has been
synchronized with the manpage template.
Previously, the current binary was displayed also. This patch gets rid
of the unwanted trailing comma there too.

Finally, the CLI executables list in the manpage template now reuses
the same variable as the RST template that doesn't need any
post-processing in Jinja2.
Before, it was already used in the RST template so this patch aligns
both templates to use the same logic as they got out-of-sync over time.

PR #80450.
2023-04-08 14:04:59 +02:00
Matt Clay
163f297d7f Extend bulk issue creator (#80423)
It can now be used to create feature requests, not just deprecation bug reports.
2023-04-05 15:24:21 -07:00
Matt Clay
4f7f7d1c26 Remove old release announcement scripts (#80371)
These have been replaced by `packaging/release.py`
2023-04-04 11:08:44 -07:00