atigyi / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
0 stars 0 forks source link

Upgrade to the latest master (2.0-pre, then 2.0) #1

Closed pfalcon closed 5 years ago

pfalcon commented 5 years ago

As github says for this repo:

This branch is 13 commits ahead, 1550 commits behind zephyrproject-rtos:master.

I.e., there's quite a lot of developments went into Zephyr lately, and it makes sense to work on top of them, to make sure GoogleIoT sample works with soon-to-be-released Zephyr 2.0 (and of course, the sample would go into master, so we should test with it).

Proposed plan: I'll test the rebase, and if works as expected, will ask @atigyi to perform the rebase on his side and push it. Let me know how that sounds.

atigyi commented 5 years ago

sounds good!

pfalcon commented 5 years ago

@atigyi, Thanks for acking. As a quick update, I tried to rebase, but found that due to a recent DNS optimization, a case like used by GoogleIoT regressed. We're looking into it.

pfalcon commented 5 years ago

Ok, so the DNS bug is fixed and pushed to master. I've performed a rebase against Zephyr revision bd72ea1df9d03493562d5cbeb74ac760c3dba0dc (https://github.com/zephyrproject-rtos/zephyr/commit/bd72ea1df9d03493562d5cbeb74ac760c3dba0dc). There were a couple of trivial conflicts in west.yaml, easy to resolve. For reference, I pushed rebased version in my repo, https://github.com/pfalcon/zephyr/tree/google_iot_device_sdk_integration-pfalcon

With that, I confirm that the google_iot_device sample works for me as expected. @atigyi, can you please perform such a rebase and force-push here? Thanks.

atigyi commented 5 years ago

@pfalcon, Good news is that the google_device_sdk_integration branch is at tag v2.0.0-rc1 and the google_iot_device sample works on linux. Bad news is I used git merge instead of your advice rebase. This means the git history got bloated. Sorry for that. What to do with this? git-squash all the commits applied since the readme update? Or revert + rebase?

pfalcon commented 5 years ago

Bad news is I used git merge instead of your advice rebase.

@atigyi, thanks for giving it a try! But yeah, that's indeed not too bright news ;-). The point, our work should follow the direction of: on each step, resolve issue and/or reduce technical debt, to lead the changes into a shape which can be submitted as PR to Zephyr upstream. But Zephyr doesn't accept PRs with merge commits (it follows "clean linear history" model, which means rebase workflow model for any WIP changes). So, if we add git merges, we're just accumulating technical debt. Once we got stuff running on qemu_x86, instead of shooting a PR upstream, we'll say "OMG, those merge commits, we yet need to deal with them". So yeah, it would be nice to just avoid them now.

Or revert + rebase?

That's what I'd suggest. There's another option - I did this rebase (well, would need to redo on the latest master, there's another important fix went in). So, if it would work for you to take much branch and push into yours, that's another option. But generally, the idea is that you guys take care of this branch, and at all times know and aware how it evolves. So, if I can help anyhow to setup this rebasing process, please let me know. For example, if it would be useful if just recorded all my action during rebase process, as a kind of walk-thru, I can do that.

Thanks!

atigyi commented 5 years ago

Ok, seems to be fixed, see commit history. Base is at the 33000th commit of Zephyr/master eddf058e1e9f5e79d752bae97f94b6acce36c81d :) Thanks for your help! Also tried the example, connects, publishes to Cloud IoT!

pfalcon commented 5 years ago

@atigyi, Great work, thanks! Confirming that the latest google_iot_device_sdk_integration branch, rev f9abdbc218b351635dc8ea98a51907d7f7678042 works as expected for me with BOARD=native_posix.

I hope we'll handle further rebases on regular basis to keep delta with the upstream small, so closing this ticket.