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

make travis use git-checkout-modules for branch names ending with /sync, <3 @slipher #1140

Open
wants to merge 1 commit into
base: master
from

Conversation

@illwieckz
Copy link
Member

illwieckz commented Nov 30, 2019

This is the result of a talk I had with @slipher on IRC yesterday, he was expressing the need for CI tools like travis to be able to checkout a work-in-progress branch across submodules without having to commit temporary references. This is thought to avoid the risk to merge dead references while merging the PR, it would also make testing such branch possible.

I wrote a git helper named git-checkout-modules you can find there:
https://gitlab.com/illwieckz/git-checkout-modules

This PR attempts to configure Travis CI to leverage it.

To use this feature, people would have to name his branch with a /sync suffix across repositories, and to push it on our own repository (not on a personal fork).

For example, if I work on a branch to add emoji support to the game and this branch spans across the engine, the game code, and the assets, I would push branches named illwieckz/emoji/sync to those repositories:

@illwieckz illwieckz force-pushed the illwieckz:git-checkout-modules branch 3 times, most recently from 4b4a46d to 4851863 Nov 30, 2019
@illwieckz

This comment has been minimized.

Copy link
Member Author

illwieckz commented Nov 30, 2019

I face an unexpected issue: Travis build commit id that does not exist.

@illwieckz illwieckz force-pushed the illwieckz:git-checkout-modules branch from 4851863 to a33967d Nov 30, 2019
@illwieckz

This comment has been minimized.

Copy link
Member Author

illwieckz commented Nov 30, 2019

So, Travis tests the merge, that makes sense, but that's not cool for us as the merged commit does not have a known branch.

commit bde8feb16330dba5bf260a4416d66465c1c69226 (HEAD)

Merge: 18803c9 a33967d

Author: Thomas Debesse <github@illwieckz.net>

Date:   Sat Nov 30 22:52:20 2019 +0100

    Merge a33967dd3dac9d3ddcb90098d34830c7496026c1 into 18803c9d3e43eab1c5fc502be54eb4268106ebab

commit a33967dd3dac9d3ddcb90098d34830c7496026c1

Author: Thomas Debesse <dev@illwieckz.net>

Date:   Sat Nov 30 19:46:17 2019 +0100

    make travis use git-checkout-modules for branch names ending with /sync, <3 @slipher
@illwieckz illwieckz force-pushed the illwieckz:git-checkout-modules branch 3 times, most recently from 522b91c to 6ee45f2 Nov 30, 2019
@illwieckz illwieckz force-pushed the illwieckz:git-checkout-modules branch from 6ee45f2 to 3fdda62 Nov 30, 2019
@illwieckz

This comment has been minimized.

Copy link
Member Author

illwieckz commented Nov 30, 2019

It looks like I nailed it, so if I merge that to master, future banches ending with /sync will trigger the mechanism.

I'm not happy with the fact I store the script in home, if some travis wizard has a better idea… feel free to share!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.