The joy of rebuilding…

I guess we all kind of enjoy breaking things and them fixing them up. It might be one of the reasons we want to be programmers. Find a bug, patch it up, test it, break something with what seemed like a good idea, rollback to an earlier version, fix again… etc. It just never ends. And believe it or not, sometimes it really is fun. Sometimes. Unfortunately for me, what follows is a description of one of the other situations, when you really wouldn’t want your precious build to go nuts, but it does. Spoiler: it does have a happy ending, no worries :).

We all know that this Monday was the dreaded String Freeze for GNOME 3.25 development cycle. I was given a heads up that it would be best to land my two GSoC features (which I described here and here) up until then. Given the fact that the code was all there and all that it needed were some rebases, I was confident enough to say that the two features would land.

I was about 40 minutes behind what appeared to be a successful achievement of finishing on time. The code was functioning right, flawlessly, but the final rebase was not made yet. I had tons of local backup braches, about 16 remote branches on gitlab-test. So, really, what could go wrong? And more, I knew that there would not be conflicts, because I created another local branch and pulled origin master there, and the merge was automatically done with no conflicts. Just a dream.

But, of course, in my excitement, I didn’t build to see if it would work. It had worked up until then, why would it break right now?

Moment of truth came, my final branch (not the one I just mentioned, that was just for testing purposes) was rebased on master and all I needed to do was confirm that it was working. So i ran jhbuild buildone gnome-shell for one last time.

Then hell broke loose. I had some problems with Meson, that would not let me build gnome-shell. Both Florian and Carlos tried to help me with the issue, but jhbuild had other plans for us. Somehow, in the whole process, gnome-shell got wiped out. Entirely. No local branches, bye bye good code, bye bye deadline.

I could not believe it. I was angry, felt tired (as I hadn’t slept more than 3-4 hours per night the previous nights, I really wanted to land the patches), hopeless and I felt like I failed.

Florian did more than he should have, he took my code and gave it the finishing touches and then pushed it on bugzilla, as I was unable to (I still had build problems).

Now for the good part: GNOME search results have a new look and system actions are available in the search results! I was so excited the following day when the patches landed and also felt a relief. I felt like all the effort, sleepless night, frustration and anger (really, wouldn’t you get angry if your build exploded?) were well worth it in the end.

And, oh boy, it was! 🙂

Advertisements

3 thoughts on “The joy of rebuilding…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s