Skip to content

Call beman_install_library#241

Merged
bretbrownjr merged 2 commits intobemanproject:mainfrom
bretbrownjr:beman-install-library
Aug 25, 2025
Merged

Call beman_install_library#241
bretbrownjr merged 2 commits intobemanproject:mainfrom
bretbrownjr:beman-install-library

Conversation

@bretbrownjr
Copy link
Copy Markdown
Member

Problem

The complexity required per project to configure install logic is too high. It is also too decentralized, making it difficult to improve the various Beman repos packaging logic over time.

Solution

Call beman_install_library instead. This function will provide reusable installation logic based on Beman Standards.

@bretbrownjr bretbrownjr requested a review from nickelpro August 11, 2025 14:17
@bretbrownjr
Copy link
Copy Markdown
Member Author

bretbrownjr commented Aug 11, 2025

This requires a sync of the infra-vendored files, so this PR cannot merge until https://github.com/bemanproject/infra/pull/171 is merged.

CI is not expected to pass until the new infra version is merged so this repo can be updated.

@coveralls
Copy link
Copy Markdown

coveralls commented Aug 13, 2025

Coverage Status

coverage: 100.0%. remained the same
when pulling 0218afe on bretbrownjr:beman-install-library
into 206d410 on bemanproject:main.

@bretbrownjr
Copy link
Copy Markdown
Member Author

@neatudarius @wusatosi @ednolan What's the process for updating the cookiecutter subdir?

Or is everyone just making every change twice, once in jinja and again in the actual exemplar code?

@ednolan
Copy link
Copy Markdown
Member

ednolan commented Aug 13, 2025

is everyone just making every change twice, once in jinja and again in the actual exemplar code?

That is the current process, unfortunately.

@bretbrownjr
Copy link
Copy Markdown
Member Author

Note that the cookiecutter consistency check should probably diff the infra/.beman-submodule file, but not anything else in the infra subdir. Note that cookiecutter has post-generation hooks. Using those and keeping the cookiecutter subdir leaner probably makes more sense than having two copies of infra in the exemplar repo.

Comment thread infra/.beman_submodule
@@ -1,3 +1,3 @@
[beman_submodule]
remote=https://github.com/bemanproject/infra.git
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

By the way, an easier workflow might be that rather than creating pull requests for a feature branch inside github.com/bemanproject/infra, just point remote here to your own fork, and then make sure to point it back to upstream once your fork's changes are upstreamed, before the change to exemplar lands.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Good point. I'll keep that in mind for next time. Or if I need to rev the beman.infra changes again.

@bretbrownjr
Copy link
Copy Markdown
Member Author

I propose we consider the cookiecutter breakage off topic for this PR. It looks like we need more work on the cookiecutter consistency checks, particularly when a beman-submodule update bump is in the picture. As I noted above, I expect the right approach is to make the cookiecutter subdir remove the infra/ contents.

@ednolan
Copy link
Copy Markdown
Member

ednolan commented Aug 13, 2025

Thanks for the tip about the post-generation hooks, I wasn't aware of that feature. I agree that using that to dedup infra here sounds like a good idea.

@bretbrownjr bretbrownjr force-pushed the beman-install-library branch 3 times, most recently from 51ff177 to 606208d Compare August 25, 2025 15:47
@bretbrownjr
Copy link
Copy Markdown
Member Author

Note that this PR uses the rc/beman-install-library release candidate branch from exemplar. If this PR validates fine, we should merge the infra change. Then I'll bump the commit IDs in the .beman-submodule files in this PR and this PR should be ready to go.

In all the pushes above, I did add some README enhancements to address some of @ednolan's concerns. I also squashed some "fix CI comments" commits into the main commit in this branch.

@bretbrownjr bretbrownjr force-pushed the beman-install-library branch from 606208d to 9e60bcd Compare August 25, 2025 16:22
Problem
-------

The complexity required per project to configure install
logic is too high. It is also too decentralized, making it
difficult to improve the various Beman repos packaging logic over
time.

Solution
--------

Call `beman_install_library` instead. This function will
provide reusable installation logic based on Beman Standards.
@bretbrownjr bretbrownjr force-pushed the beman-install-library branch from 9e60bcd to a9b1d77 Compare August 25, 2025 16:49
Problem
-------

These changes cannot be evaluated without corresponding changes to
the infra/ subdir.

Solution
--------

The corresponding changes were released to
github.com/beman-project/infra as a release candidate branch. Set
the SHA for the HEAD commit of that branch in the
`infra/.beman-submodule` file. Then run the `beman-submodule update`
command.
@bretbrownjr bretbrownjr force-pushed the beman-install-library branch from a9b1d77 to 0218afe Compare August 25, 2025 18:15
@bretbrownjr bretbrownjr marked this pull request as ready for review August 25, 2025 19:26
@bretbrownjr
Copy link
Copy Markdown
Member Author

The matching infra change is merged. The commit SHA in the .beman-submodule files uses the latest commit from infra.

@bretbrownjr bretbrownjr merged commit c6d1432 into bemanproject:main Aug 25, 2025
86 checks passed
@bretbrownjr bretbrownjr deleted the beman-install-library branch August 25, 2025 19:27
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.

3 participants