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

Enforce collection tagging policy as a release blocker #218

Closed
gotmax23 opened this issue Mar 26, 2023 · 6 comments
Closed

Enforce collection tagging policy as a release blocker #218

gotmax23 opened this issue Mar 26, 2023 · 6 comments

Comments

@gotmax23
Copy link
Contributor

gotmax23 commented Mar 26, 2023

Summary

Last year in #148, we agreed that all collections must tag their releases in their git repository and clarified the Repository management section of the Collection Requirements.

I also enabled support in antsibull to ensure that collections follow the policy with the antsibull-build validate-tags subcommand (ansible-community/antsibull@b38fd8b), include a yaml tag data file in ansible-build-data and the ansible sdist (ansible-community/antsibull@5d39db6), and finally added support to the validate-tags subcommand to ignore specific collections when reporting errors (ansible-community/antsibull@015f935).

Now that we have the last change which allows us to ignore certain collections such as cisco.nso that have been removed for not fixing this issue, I'd like to make improperly tagged collections a release blocker. Noncompliant collections would fail the release playbook, we'd have to pin them to the last release, and we'd have to file issues against the collections' respective repositories. What do other SC members and the release engineers (/cc @ansible-community/release-managers @rooftopcellist) think? I would document the new process in the ansible-build-data repository1, add a list of collections to ignore, and update the release playbook to fail on tag validation errors for new ansible versions.

Footnotes

  1. or wherever else this should be documented. In general, I'd like to clarify the documentation about the release process, especially with https://github.com/ansible-community/community-team/issues/160 being considered, but I disgress...

@gotmax23 gotmax23 added the next_meeting Topics that needs to be discussed in the next Community Meeting label Mar 28, 2023
@gotmax23
Copy link
Contributor Author

I've tagged this for the next meeting

@rooftopcellist
Copy link

++, that makes sense to me. However, I would like to always maintain a "releasible" state if possible. So I think it would be better if we had a nightly job that would fail ahead of time so that we can raise the flag, pin and open an issue in the collection's repo ahead of release day.

@anweshadas
Copy link

+1 from me for the idea. But it would be good if we have some practical examples of pinning, flagging and opening issue in the collection repo. A good and up to date documentation hopefully will solve the majority of the problem in here. Also we have to make sure the collection maintainers understands this step properly.

@acozine
Copy link
Contributor

acozine commented Apr 12, 2023

Agreed that we should have documentation of the entire release process. However, that may take some time to create.

As a temporary stop-gap, we could add documentation about the tagging policy discussed here to the docs at: https://docs.ansible.com/ansible/latest/community/collection_contributors/collection_requirements.html#collections-requirements.

@acozine
Copy link
Contributor

acozine commented Apr 12, 2023

@samccann samccann removed the next_meeting Topics that needs to be discussed in the next Community Meeting label Jul 19, 2023
@mariolenz
Copy link
Contributor

I think we're already doing this (see ansible-community/ansible-build-data#365 for an example).

If there's more to discuss, please open a topic in the forum.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants