Skip to content

CI for smart holders as default - #2930

Closed
rhaschke wants to merge 1 commit into
pybind:smart_holderfrom
rhaschke:smart-holder-ci
Closed

CI for smart holders as default#2930
rhaschke wants to merge 1 commit into
pybind:smart_holderfrom
rhaschke:smart-holder-ci

Conversation

@rhaschke

@rhaschkerhaschke commented Apr 1, 2021

Copy link
Copy Markdown
Contributor

This adds another CI workflow enabling PYBIND11_USE_SMART_HOLDER_AS_DEFAULT

@rhaschke
rhaschke changed the base branch from master to smart_holderApril 1, 2021 11:52
@rhaschke
rhaschkeforce-pushed the smart-holder-ci branch 2 times, most recently from 4876b24 to 88f3474CompareApril 7, 2021 11:26
@rhaschke

Copy link
Copy Markdown
ContributorAuthor

cmake implicitly sets CMAKE_CXX_FLAGS="/GR /EHsc" for MSVC. Manually setting CMAKE_CXX_FLAGS overrides this default and thus requires adding those flags explicitly.

@rwgkrwgk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I really like that it's so easy, but I'm also really worried about introducing two copies of something so substantial. @henryiii, is there an obvious way to avoid the duplication?

Naive idea: have a small patch file somewhere else, and a bash script that applies that patch to generate this file, with a big comment at the top: "This is an auto-generated file, do not edit." And another comment with instructions how to run the bash script. — But I hope Henry knows of something more organized.

@rhaschke

rhaschke commented Apr 7, 2021

Copy link
Copy Markdown
ContributorAuthor

I tried to merge the new SH builds into the existing CI workflow before, but that ended up in a mess, because the workflow defines its jobs using matrix + includes. Doing all jobs with PYBIND11_USE_SMART_HOLDER_AS_DEFAULT enabled required way more changes to the CI workflow. With the present approach, it should be easier to keep the CI and CI SH workflows in sync.

rwgk added a commit to rwgk/pybind11 that referenced this pull request Apr 20, 2021
rwgk added a commit that referenced this pull request Apr 20, 2021
* Adding ci_sh_def.yml, based on PR #2930.
* Adding exludes for .patch files.
@rwgk

rwgk commented Apr 20, 2021

Copy link
Copy Markdown
Collaborator

The work here was included in #2963. Closing. Thanks Robert!

@rwgkrwgk closed this Apr 20, 2021
@EricCousineau-TRIEricCousineau-TRI added the smart holder See: https://github.com/pybind/pybind11/blob/smart_holder/README_smart_holder.rst label Apr 26, 2021
@rhaschke
rhaschke deleted the smart-holder-ci branch May 19, 2021 21:10
@rwgkrwgk mentioned this pull request Feb 10, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

smart holderSee: https://github.com/pybind/pybind11/blob/smart_holder/README_smart_holder.rst

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rhaschke@rwgk@EricCousineau-TRI