Skip to content

Extension for Ansible redirects #2418

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Jun 3, 2025

Conversation

oraNod
Copy link
Contributor

@oraNod oraNod commented Feb 14, 2025

Fixes #2147 and supercedes #2266

This PR extends the Sphinx reredirects extension to load redirects for Ansible documentation from a toml file. The purpose is to replace the httpd mod_rewrite rules in https://github.com/ansible/docsite/blob/main/ansible/11/.htaccess and https://github.com/ansible/docsite/blob/main/.htaccess in a way that is compatible with ReadTheDocs.

If this PR is accepted and merged, there are two follow on actions:

  • Create a robots.txt file to stop crawlers from indexing the generated HTML files. We can put the robots.txt file in the ansible/docsite repo and copy it across as part of the ReadTheDocs build.
  • Remove all the existing stub files from this repository. For example, all the files under the docs/docsite/rst/user_guide folder.

@oraNod oraNod force-pushed the issue-2147/sphinx-redirects branch from 768cd3f to 1e48ae3 Compare March 7, 2025 14:25
@oraNod oraNod requested a review from webknjaz March 7, 2025 14:34
@oraNod oraNod marked this pull request as ready for review March 7, 2025 14:38
@oraNod oraNod force-pushed the issue-2147/sphinx-redirects branch from 1e48ae3 to 5641adf Compare March 7, 2025 15:52
@oraNod oraNod force-pushed the issue-2147/sphinx-redirects branch from 5641adf to 97be9ad Compare March 7, 2025 17:12
@oraNod oraNod force-pushed the issue-2147/sphinx-redirects branch from 97be9ad to acdbce4 Compare March 11, 2025 14:37
oraNod and others added 9 commits June 3, 2025 10:56
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
@oraNod oraNod force-pushed the issue-2147/sphinx-redirects branch from 333b36b to be3ab71 Compare June 3, 2025 10:03
@oraNod oraNod force-pushed the issue-2147/sphinx-redirects branch from be3ab71 to b65badc Compare June 3, 2025 10:06
@oraNod oraNod force-pushed the issue-2147/sphinx-redirects branch from db36a40 to a648a58 Compare June 3, 2025 17:53
@oraNod oraNod added backport-2.18 Automatically create a backport for the stable-2.18 branch backport-2.19 Automatically create a backport for the stable-2.19 branch labels Jun 3, 2025
@oraNod oraNod merged commit 6d4338a into ansible:devel Jun 3, 2025
12 checks passed
Copy link

patchback bot commented Jun 3, 2025

Backport to stable-2.18: 💔 cherry-picking failed — conflicts found

❌ Failed to cleanly apply 6d4338a on top of patchback/backports/stable-2.18/6d4338a9234b1c60283c49eb1a00150753e9d085/pr-2418

Backporting merged PR #2418 into devel

  1. Ensure you have a local repo clone of your fork. Unless you cloned it
    from the upstream, this would be your origin remote.
  2. Make sure you have an upstream repo added as a remote too. In these
    instructions you'll refer to it by the name upstream. If you don't
    have it, here's how you can add it:
    $ git remote add upstream https://github.com/ansible/ansible-documentation.git
  3. Ensure you have the latest copy of upstream and prepare a branch
    that will hold the backported code:
    $ git fetch upstream
    $ git checkout -b patchback/backports/stable-2.18/6d4338a9234b1c60283c49eb1a00150753e9d085/pr-2418 upstream/stable-2.18
  4. Now, cherry-pick PR Extension for Ansible redirects #2418 contents into that branch:
    $ git cherry-pick -x 6d4338a9234b1c60283c49eb1a00150753e9d085
    If it'll yell at you with something like fatal: Commit 6d4338a9234b1c60283c49eb1a00150753e9d085 is a merge but no -m option was given., add -m 1 as follows instead:
    $ git cherry-pick -m1 -x 6d4338a9234b1c60283c49eb1a00150753e9d085
  5. At this point, you'll probably encounter some merge conflicts. You must
    resolve them in to preserve the patch from PR Extension for Ansible redirects #2418 as close to the
    original as possible.
  6. Push this branch to your fork on GitHub:
    $ git push origin patchback/backports/stable-2.18/6d4338a9234b1c60283c49eb1a00150753e9d085/pr-2418
  7. Create a PR, ensure that the CI is green. If it's not — update it so that
    the tests and any other checks pass. This is it!
    Now relax and wait for the maintainers to process your pull request
    when they have some cycles to do reviews. Don't worry — they'll tell you if
    any improvements are necessary when the time comes!

🤖 @patchback
I'm built with octomachinery and
my source is open — https://github.com/sanitizers/patchback-github-app.

Copy link

patchback bot commented Jun 3, 2025

Backport to stable-2.19: 💔 cherry-picking failed — conflicts found

❌ Failed to cleanly apply 6d4338a on top of patchback/backports/stable-2.19/6d4338a9234b1c60283c49eb1a00150753e9d085/pr-2418

Backporting merged PR #2418 into devel

  1. Ensure you have a local repo clone of your fork. Unless you cloned it
    from the upstream, this would be your origin remote.
  2. Make sure you have an upstream repo added as a remote too. In these
    instructions you'll refer to it by the name upstream. If you don't
    have it, here's how you can add it:
    $ git remote add upstream https://github.com/ansible/ansible-documentation.git
  3. Ensure you have the latest copy of upstream and prepare a branch
    that will hold the backported code:
    $ git fetch upstream
    $ git checkout -b patchback/backports/stable-2.19/6d4338a9234b1c60283c49eb1a00150753e9d085/pr-2418 upstream/stable-2.19
  4. Now, cherry-pick PR Extension for Ansible redirects #2418 contents into that branch:
    $ git cherry-pick -x 6d4338a9234b1c60283c49eb1a00150753e9d085
    If it'll yell at you with something like fatal: Commit 6d4338a9234b1c60283c49eb1a00150753e9d085 is a merge but no -m option was given., add -m 1 as follows instead:
    $ git cherry-pick -m1 -x 6d4338a9234b1c60283c49eb1a00150753e9d085
  5. At this point, you'll probably encounter some merge conflicts. You must
    resolve them in to preserve the patch from PR Extension for Ansible redirects #2418 as close to the
    original as possible.
  6. Push this branch to your fork on GitHub:
    $ git push origin patchback/backports/stable-2.19/6d4338a9234b1c60283c49eb1a00150753e9d085/pr-2418
  7. Create a PR, ensure that the CI is green. If it's not — update it so that
    the tests and any other checks pass. This is it!
    Now relax and wait for the maintainers to process your pull request
    when they have some cycles to do reviews. Don't worry — they'll tell you if
    any improvements are necessary when the time comes!

🤖 @patchback
I'm built with octomachinery and
my source is open — https://github.com/sanitizers/patchback-github-app.

@oraNod
Copy link
Contributor Author

oraNod commented Jun 3, 2025

Flip, I should have guessed the backports wouldn't get cherry-picked cleanly. Can't blame a dude for trying though.

Edit: PTO brain is a real thing. This doesn't need a backport at all. The publishing workflows are on devel only. 😶‍🌫️

@webknjaz
Copy link
Member

webknjaz commented Jun 3, 2025

This doesn't need a backport at all. The publishing workflows are on devel only. 😶‍🌫️

I tend to still backport supporting configs/automations because this usually helps with future backports layered on top.

@oraNod
Copy link
Contributor Author

oraNod commented Jun 5, 2025

This doesn't need a backport at all. The publishing workflows are on devel only. 😶‍🌫️

I tend to still backport supporting configs/automations because this usually helps with future backports layered on top.

Added a manual backport with #2691

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-2.18 Automatically create a backport for the stable-2.18 branch backport-2.19 Automatically create a backport for the stable-2.19 branch doc builds Relates to building the documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Using stub pages to replace redirects
4 participants