Skip to content
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

Create tagged releases for stable branches #66

Open
gotmax23 opened this issue Jul 9, 2023 · 34 comments
Open

Create tagged releases for stable branches #66

gotmax23 opened this issue Jul 9, 2023 · 34 comments
Labels
doc builds Relates to building the documentation

Comments

@gotmax23
Copy link
Collaborator

gotmax23 commented Jul 9, 2023

Would it be possible to tag the current state of a stable-2.X branch after each ansible-core release? I understand that the plan is to separate the deployment of docs from ansible-core releases, but this would be helpful for distributions that provide docs and want to sync them with core releases1. Also, I think this will be helpful for upstream purposes so it's easier to see how docs change overtime when looking back at the git history.

Footnotes

  1. Currently, Fedora does not build the html docs, but we do include the raw rst files in an ansible-core-doc subpackage, and I'd prefer not to remove that package in the middle of a release.

@gotmax23
Copy link
Collaborator Author

We discussed this in today's community meeting and folks seemed open to the idea. @mattclay, is this something you'd be willing to have in https://github.com/ansible/ansible/blob/devel/packaging/release.py or otherwise integrated into core's release process?

@mattclay
Copy link
Member

Since the documentation and core releases aren't exactly synchronized, I'm not sure it's a great idea to give that appearance by adding matching tags. However, if tags are desired, you should be able to set up automation (perhaps GitHub Actions) to monitor the GH releases for ansible-core and create matching tags as new releases show up.

@gotmax23
Copy link
Collaborator Author

Yes, these tags are desired (at least by me they are :). The goal here is to simply record the state of this repository after each ansible-core release.

For now, I guess I can push the tags manually, and I'll think of a better long term solution. Whatever the case, I'd much prefer a "push model" than a "pull model".

@felixfontein
Copy link
Collaborator

From the Ansible build perspective, having ansible-core releases tagged here as well is very important since otherwise it is impossible to properly and reproducably build the porting guide for Ansible.

@gotmax23
Copy link
Collaborator Author

@samccann
Copy link
Contributor

What's the next step here? We have ...2.5 weeks before this becomes another manual tagging effort for the next core release...

@samccann samccann added the doc builds Relates to building the documentation label Jul 21, 2023
@gotmax23
Copy link
Collaborator Author

We need tagged releases in order to properly retrieve ansible-core porting guides in a reproducible fashion when creating the ansible combined porting guide. Currently, we retrieve the latest file from the devel branch (https://raw.githubusercontent.com/ansible/ansible-documentation/devel/docs/docsite/rst/porting_guides/porting_guide_core_{MAJOR_VERSION}.rst) which is wrong. We should be retrieving the porting guide from the time an ansible release's respective ansible-core version was actually released (https://raw.githubusercontent.com/ansible/ansible-documentation/v{VERSION}/docs/docsite/rst/porting_guides/porting_guide_core_{MAJOR_VERSION}.rst). We discussed this in ansible-community/antsibull#540. I'd like to make this change but cannot until we can rely on these tags existing. I also need these tags for the Fedora ansible-core package.

If the core team doesn't want to own this, I can keep doing it manually.

@samccann
Copy link
Contributor

on the porting guide - frequently, the porting guide PRs get merged AFTER a release has happened. Historically, we haven't held up any release to pypi because a porting guide PR hasn't been merged, backported, merged, and published.

@gotmax23
Copy link
Collaborator Author

I'm talking about needing the tags for core porting guides. The combined porting guides that are created as part of the ansible package build process are indeed created after the release.

@gotmax23
Copy link
Collaborator Author

By the way, https://git.sr.ht/~gotmax23/fedora-scripts/tree/main/item/ansible/tag.py is the script I've been using to create these tags. It makes some assumptions about how I set up my git clones, so it may be destructive/do the wrong thing if you have a different setup. At some point, I'll clean it up (i.e. make it more general and error resistant) and it to the hacking folder in this repo.

@samccann
Copy link
Contributor

@gotmax23 thanks for doing this manually... @mattclay 's #66 (comment) makes it sounds like we can automate this somehow? Or is the only automation option for these tags have to be in ansible/ansible directly?

@gotmax23
Copy link
Collaborator Author

It would be less error prone if the automation was in ansible/ansible. It's nice that the tags are signed with my trusted GPG signature when I do it manually, but it'd also be nice not to be the single point of failure.

@mattclay
Copy link
Member

It can be automated, but the automation doesn't need to live in the ansible/ansible repository.

@gotmax23
Copy link
Collaborator Author

It would be much easier to write an automation that happens during the core release process instead of something elsewhere that has to poll for new core releases.

@gotmax23
Copy link
Collaborator Author

@gotmax23
Copy link
Collaborator Author

gotmax23 commented Oct 4, 2023

@gotmax23
Copy link
Collaborator Author

@gotmax23 gotmax23 pinned this issue Oct 22, 2023
@gotmax23 gotmax23 unpinned this issue Oct 22, 2023
@gotmax23 gotmax23 pinned this issue Oct 22, 2023
@gotmax23
Copy link
Collaborator Author

@gotmax23
Copy link
Collaborator Author

gotmax23 commented Nov 6, 2023

@gotmax23
Copy link
Collaborator Author

gotmax23 commented Nov 6, 2023

@gotmax23
Copy link
Collaborator Author

  • Tagging 37177dc as v2.14.13
    Pushing v2.14.13 to origin
  • Tagging 78d3d50 as v2.15.8
    Pushing v2.15.8 to origin
  • Tagging 0951548 as v2.16.2
    Pushing v2.16.2 to origin

@gotmax23
Copy link
Collaborator Author

  • Tagging de91530 as v2.14.14rc1
    Pushing v2.14.14rc1 to origin
  • Tagging 851b232 as v2.15.9rc1
    Pushing v2.15.9rc1 to origin
  • Tagging b0ae01a as v2.16.3rc1
    Pushing v2.16.3rc1 to origin

@gotmax23
Copy link
Collaborator Author

  • Tagging de91530 as v2.14.14
    Pushing v2.14.14 to origin
  • Tagging d84cc4c as v2.15.9
    Pushing v2.15.9 to origin
  • Tagging 4d376f7 as v2.16.3
    Pushing v2.16.3 to origin

gotmax23 added a commit to gotmax23/ansible-documentation that referenced this issue Jan 29, 2024
gotmax23 added a commit to gotmax23/ansible-documentation that referenced this issue Jan 29, 2024
@gotmax23 gotmax23 unpinned this issue Feb 7, 2024
@gotmax23 gotmax23 pinned this issue Feb 7, 2024
gotmax23 added a commit to gotmax23/ansible-documentation that referenced this issue Feb 12, 2024
@gotmax23
Copy link
Collaborator Author

  • Tagging a0986ae as v2.16.4rc1
    Pushing v2.16.4rc1 to origin

gotmax23 added a commit to gotmax23/ansible-documentation that referenced this issue Feb 21, 2024
@gotmax23
Copy link
Collaborator Author

  • Tagging a26a8d5 as v2.16.4
    Pushing v2.16.4 to origin

gotmax23 added a commit to gotmax23/ansible-documentation that referenced this issue Mar 18, 2024
@gotmax23
Copy link
Collaborator Author

I merged #1084 which has the script I use to create the tags. Next up, I'd like to prepare Github Actions automation to handle do this automatically.

@gotmax23
Copy link
Collaborator Author

  • Tagging 41fc236 as v2.14.15rc1
    Pushing v2.14.15rc1 to origin
  • Tagging 2b55781 as v2.15.10rc1
    Pushing v2.15.10rc1 to origin
  • Tagging d69d51c as v2.16.5rc1
    Pushing v2.16.5rc1 to origin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc builds Relates to building the documentation
Projects
Status: 🏗 In progress
Development

No branches or pull requests

4 participants