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

Restructure directories add 2.3.4 #8561

Merged
merged 12 commits into from
Jan 6, 2022
Merged

Restructure directories add 2.3.4 #8561

merged 12 commits into from
Jan 6, 2022

Conversation

dotChris90
Copy link
Contributor

Fast-DDS/2.3.X

first step for old PR #7853

  • the test_package is highly more complicated than before
  • reason : communication was breaking before when 2 processes were try to communicate
  • to check this in future have to compile 2 programs, start them, let them send and receive and validate the output

  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@conan-center-bot

This comment has been minimized.

@@ -176,10 +178,10 @@ def package(self):

def package_info(self):
self.cpp_info.names["cmake_find_package"] = "fastdds"
self.cpp_info.names["cmake_find_package_multi"] = "fastdds"
self.cpp_info.names["cmake_find_multi_package"] = "fastdds"
Copy link
Contributor

Choose a reason for hiding this comment

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

no

self.copy("CMakeLists.txt")
for patch in self.conan_data.get("patches", {}).get(self.version, []):
self.copy(patch["patch_file"])
self.requires("openssl/1.1.1k")
Copy link
Contributor

Choose a reason for hiding this comment

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

why this downgrade?

Comment on lines 123 to 126
def export_sources(self):
self.copy("CMakeLists.txt")
for patch in self.conan_data.get("patches", {}).get(self.version, []):
self.copy(patch["patch_file"])
Copy link
Contributor

Choose a reason for hiding this comment

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

why it it removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

clicked wrong button .... sorry for that will soon add again

Comment on lines 3 to 7
folder: 2.3.X
"2.3.3":
folder: all
folder: 2.3.X
"2.3.4":
folder: 2.3.X
Copy link
Contributor

Choose a reason for hiding this comment

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

What is the rational?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

in next PR want to add 2.4.X and 2.5.X and they differ in some regions

Copy link
Contributor

Choose a reason for hiding this comment

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

Are those regions too big? Sometimes it is better to have some big if/else that to have several conanfile.py files that will start to diverge. Do you already have a draft for those changes?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jgsogo i will check it again and rechange it back to all if not too different.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jgsogo i found my local 2.4.X again - the difference indeed is truly just related to the patches - i will look again other conanfiles how to handle that. 2.4.X dont need patches 2.3.X needs. guess i should check the version before apply the patches inside conanfile - if that is the proper way

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok renamed back to all

Comment on lines 97 to 102
def validate(self):
# FIXME: Foonathan dependency currently not proper working with cross compile
# see https://github.com/conan-io/conan-center-index/pull/7632#discussion_r730445887
if hasattr(self, "settings_build") and tools.cross_building(self):
raise ConanInvalidConfiguration("Cross building is not yet supported. Contributions are welcome.")

Copy link
Contributor

@SpaceIm SpaceIm Dec 28, 2021

Choose a reason for hiding this comment

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

to remove, there is already a validate() method. It seems you have reverted all the fixes of another PR, correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes - adapted and try again

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

elif self.settings.os == "Macos":
# FIXME: Testing currently fails with MacOS - see https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/8561/1-configs/macos-clang/fast-dds/2.3.2//summary.json
# dyld: Library not loaded: libfastrtps.2.3.dylib --> Reason: image not found
raise ConanInvalidConfiguration("Macos currently not supported")
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not aware of any change on the Macos machines, this should work as it was working before 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Also extremely strange to me - but have no Mac - so cannot check reason ....

Copy link
Contributor

Choose a reason for hiding this comment

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

I've just tried locally and it worked for me (apple-clang 13). I'll investigate it in a different PR here in CCI

Copy link
Contributor

Choose a reason for hiding this comment

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

Here is the link: #8566. I'm also upgrading dependencies, to apply some meaningful change.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jgsogo thanks for supporting here :)

Copy link
Contributor

@SpaceIm SpaceIm Dec 28, 2021

Choose a reason for hiding this comment

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

No but your test package is likely broken, you don't inject DYLD_LIBRARY_PATH by not relying on self.run with environment=True, so yes shared on Macos breaks obviously.
Why is it so complex now? test_package is not supposed to be a functional test of the library.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

1st thanks for pointing it out - yes -.- i forgot i start them with popen now -.- will adapt tomorrow.
2nd The reason for this huge test is a bug hard to detect but happened when one dependency (foonathan memory) was set with wrong default options. then sending messages from one thread to one other inside same process works fine but the communication between 2 process crash on runtime. Basically i want to check if 1 message can be sent by one process and received by 1 process. i dont want accidentally again a package with this misbehavior.

@conan-center-bot

This comment has been minimized.

@ericLemanissierBot
Copy link

I detected other pull requests that are modifying fast-dds/all recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@dotChris90 dotChris90 closed this Dec 29, 2021
@dotChris90 dotChris90 reopened this Dec 29, 2021
@conan-center-bot

This comment has been minimized.

@dotChris90 dotChris90 closed this Dec 30, 2021
@dotChris90 dotChris90 reopened this Dec 30, 2021
@conan-center-bot

This comment has been minimized.

@uilianries
Copy link
Member

uilianries commented Dec 31, 2021

Thank you for your contribution!

Please, keep test package as simple as possible, don't need to run a full functional example, only a simple test to validate the library linkage, header location and cmake targets. Your new test is too complex and requires networking.

I suggest you reverting your changes over test package and update only the new version and its patch.

Happy new year!

@dotChris90
Copy link
Contributor Author

@uilianries as you wish.

@dotChris90
Copy link
Contributor Author

@uilianries ok test_package now back to original. in the next PR i will add 2.4 and after 2.5 series.

and btw - happy new year to you too :)

Copy link
Member

@uilianries uilianries left a comment

Choose a reason for hiding this comment

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

Thank you! Now it looks good!

@conan-center-bot
Copy link
Collaborator

All green in build 11 (cb98c696ef5f7c839da1c515664a72a383e4aa05):

  • fast-dds/2.3.3@:
    All packages built successfully! (All logs)

  • fast-dds/2.3.4@:
    All packages built successfully! (All logs)

  • fast-dds/2.3.2@:
    All packages built successfully! (All logs)

@prince-chrismc
Copy link
Contributor

Might want to update the PR title so we have a nice commit message when the bot merges

@@ -146,7 +146,6 @@ def validate(self):
# linking dynamic '*.dll' and static MT runtime
raise ConanInvalidConfiguration("Mixing a dll {} library with a static runtime is a bad idea".format(self.name))


Copy link
Contributor

@SpaceIm SpaceIm Jan 5, 2022

Choose a reason for hiding this comment

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

This modification in conanfile is unnecessary. Remove it and CI could detect a bump.

Copy link
Contributor

Choose a reason for hiding this comment

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

I dont think the bot can since there is a patch... Unless it got wicked smart (there's some smart people on the Conan team)

Copy link
Contributor

@SpaceIm SpaceIm Jan 5, 2022

Choose a reason for hiding this comment

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

it can, thanks to:

    def export_sources(self):
        self.copy("CMakeLists.txt")
        for patch in self.conan_data.get("patches", {}).get(self.version, []):
            self.copy(patch["patch_file"])

therefore, RREV of other versions is not modified even with a patch in the new version, so the bot can detect a bump (it relies on RREV) if there are no modifications in conanfile or other files in export_sources of these versions.

Copy link
Contributor

Choose a reason for hiding this comment

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

🤯 I'll need to improve my bot then! Thanks for the news

@SpaceIm
Copy link
Contributor

SpaceIm commented Jan 5, 2022

Might want to update the PR title so we have a nice commit message when the bot merges

Yes, just fast-dds: bump to 2.3.4

@conan-center-bot conan-center-bot merged commit b706be9 into conan-io:master Jan 6, 2022
@dotChris90 dotChris90 changed the title Restructure directories add 2 3 4 Restructure directories add 2.3.4 Jan 9, 2022
@dotChris90
Copy link
Contributor Author

but too late -.- i will take care next PR sorry

miklelappo pushed a commit to miklelappo/conan-center-index that referenced this pull request Feb 9, 2022
* rename all folder to 2.3.X

* add 2.3.4 and adding better tests

* exclude Macos

* typo

* increase to 30s

* rename back to all

* Mac requires environment variables

* removed again to check test now works on mac

* because conan internal functions shall not be used

* just try execution on mac os

* just eval assert on linux .... because windows sometimes error

* simplify test according to PR commits
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.

None yet

8 participants