* 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.
* 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>
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.
* 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>
* 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
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.
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
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
* 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>
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
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.