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

Split antsibull-build's single subcommand into prepare and rebuild-single; deprecate multiple #341

Merged

Conversation

felixfontein
Copy link
Collaborator

One thing to determine is whether prepare should download the collections already and build changelog and porting guide, as well as updating the changelog.yaml.

I would definitely keep updating the changelog.yaml, but the other things are debatable. @dmsimard what do you think?

@dmsimard
Copy link
Contributor

Need more time to parse the PR, let me get back to you on that

@felixfontein
Copy link
Collaborator Author

I decided to change the prepare command so it really only determines the versions, and doesn't build the changelog and porting guide RSTs.

@dmsimard
Copy link
Contributor

dmsimard commented Dec 3, 2021

I like this and it helps move in the direction I'd eventually picture things to be like 👍

At a high level: I believe the contents of ansible-build-data should not exclusively be artifacts of a build only pushed after the fact.

We should be able to prepare an upcoming release by drafting a new deps file which would allow the testing coverage to occur before a build and release, not only during. In other words: even though 5.1.0 has not yet been released, I should be able to create a deps file for it and start testing it.

It's OK if the collection versions drift a little until the day of the release -- I figure we can automate collection version updates by re-running prepare and propose a change if there are new versions available.

This would allow us to see problems ahead of time rather than on the day of release.

I will test the PR and report back.

@dmsimard
Copy link
Contributor

dmsimard commented Dec 3, 2021

I've tested it against a hypothetical 5.1.0 build and the good news is that it works: https://demo.recordsansible.org/playbooks/3221.html
I've pushed the resulting changes to ansible-build-data in a test branch: dmsimard/ansible-build-data@b9da0e5

The prepare command is only poking at the versions: https://demo.recordsansible.org/results/690056.html
And the rebuild-single builds with the deps file that the prepare command generated: https://demo.recordsansible.org/results/690058.html

In the prepare command there's a message that I don't remember seeing before:

Found no release_summary section in the changelog for this release. While this is not required, we suggest to add one with basic information on the release.

The code LGTM at first glance but I am also not intimately familiar with the antsibull internals. There may be an opportunity to simplify further in the future -- for example, while out of scope, I'm not sure if we need build-multiple and build-collection.

@felixfontein
Copy link
Collaborator Author

In the prepare command there's a message that I don't remember seeing before:

That message was probably already there before, but now it's removed. For that I needed to bump the antsibull-changelog requirement a bit (from 0.7 to 0.10; current release is 0.12 so that should be ok).

The code LGTM at first glance but I am also not intimately familiar with the antsibull internals. There may be an opportunity to simplify further in the future -- for example, while out of scope, I'm not sure if we need build-multiple and build-collection.

I think we should remove build-multiple; the code probably isn't tested at all. I will create another PR to deprecate it.

@felixfontein
Copy link
Collaborator Author

When creating that PR I noticed that I would have to re-create parts of this PR (splitting up some function), so I decided to simply integrate the deprecation here :)

@felixfontein felixfontein changed the title Split antsibull-build's single subcommand into prepare and rebuild-single Split antsibull-build's single subcommand into prepare and rebuild-single; deprecate multiple Dec 7, 2021
@felixfontein felixfontein requested a review from dmsimard December 7, 2021 07:04
docs/build-ansible.rst Outdated Show resolved Hide resolved
felixfontein and others added 2 commits December 7, 2021 17:41
Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Copy link
Contributor

@dmsimard dmsimard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me, tested locally. Code looks fine too. Thanks @felixfontein !

@felixfontein felixfontein merged commit db95dc7 into ansible-community:main Dec 7, 2021
@felixfontein felixfontein deleted the build-improvements branch December 7, 2021 20:06
@felixfontein
Copy link
Collaborator Author

@dmsimard thanks a lot for testing and reviewing!

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

Successfully merging this pull request may close these issues.

2 participants