World: r3wp
[!REBOL3 Source Control] How to manage build process
older newer | first last |
Andreas 28-Oct-2010 [19] | I.e. a 'Linux" repository and a "Win32" repository where you manually do merges (or copy/paste) in between will only lead to trouble. |
Carl 28-Oct-2010 [20] | Back in a while. Go ahead and post your notes, then I'll reply. Thanks! |
Andreas 28-Oct-2010 [21x12] | Quick Q: what version control system do you use atm? |
Third step is to write a post-commit hook which exports from internal to external. | |
And then the automation kicks in. | |
The same post-commit hook then: - moves the export to someplace public (i.e. another public VCS like Github or Google Code; or simply uploading them to rebol.net/rebol.com), - and somehow notifies anyone interested of the new upload. | |
You'll get the notification for free on Github (I don't know about Google Code). But this could also be updating a simple .txt on a webserver somewhere which lists all available exports. Heck, it even the directory listing features of a webserver would suffice (as long as the exports are named consistently). | |
And from there on, we can have build bots which pick up any new export and build it for their platform. Build results are reported back somewhere (email, static website on the bots which gets aggregated elsewhere, a simple CGI, R3 chat, ...). | |
The details of those latter parts are not particularly exciting, as they are easy to do in a variety of ways. | |
For example, even the makefiles are not really important at this point. | |
But what's important is how to keep those "external" builds consistent with your "internal" builds. | |
Which is why it's also important to realise that those build bots need not necessarily be public. They could well be Carl's own machines standing at home which put the final binary in a central place for Carl to use. | |
If that's not immediate, you can obviously still use your own build stuff (Visual Studio projects, whatever), and as long as you regularly keep the sources up to date by committing, the builders will notify you anyway if the external build mechnisms got out of sync. | |
The most important thing to realize, is that not every commit, even if externally visible, needs to be perfect. It's perfectly fine if the external builders break, that's what they are there for: telling you when something went amiss. | |
Carl 28-Oct-2010 [33x2] | A few comments... |
I was expecting that all these various implementation parts were already available. That is, we're not reinventing the wheel. | |
Andreas 28-Oct-2010 [35] | They are. |
Carl 28-Oct-2010 [36] | Next, is there any conern about flooding. On a good day, I make about 10-20 commits. |
Andreas 28-Oct-2010 [37] | Nope. |
Carl 28-Oct-2010 [38x2] | BTW, there are no merges between Linux and Win32 files. These are all in the same repository. |
So, all of the above seems pretty standard. | |
Andreas 28-Oct-2010 [40x2] | It is. |
It just needs to be done for R3. | |
Carl 28-Oct-2010 [42] | That's why I asked earlier about where we want to put it.... because that seems to be a bigger question. |
Andreas 28-Oct-2010 [43x2] | http://www.rebol.net/builds/rebol3/alpha/ |
Call the exports r3-<datestamp>-<revision>.zip. | |
Carl 28-Oct-2010 [45] | dinner. bbl |
Andreas 28-Oct-2010 [46] | Or export into Git and put it on your server or on Github. Or export into Subversion and put it on Github, or Google Code, or .... |
Maxim 28-Oct-2010 [47x2] | I think using Git is the way to god for a new project. every big project I see that is changing VCS is goint Git. it seems to be the most powerfull VCS right now. do you agree Andreas? |
god... hahaha obviously I meant "go" | |
Andreas 28-Oct-2010 [49x3] | Absolutely. |
And I personally would suggest Git, put that'll take time and effort to get started with. | |
So it's probably quicker to get things going by using whatever Carl is familiar with. | |
Maxim 28-Oct-2010 [52] | are there free Git servers? |
Andreas 28-Oct-2010 [53] | (Let's switch this to "Source control".) |
Maxim 28-Oct-2010 [54] | good idea. |
Carl 28-Oct-2010 [55x5] | Any one of them is fine with me. |
So, A110 will be released soon. | |
(Meaning in a day or so.) | |
For this release, i'll be making fixes to the posix files, and most of what Steve Solie posted on CureCode. | |
Just to explain, my part has to remain focused on R3 development, mainly at the kernel level. That means we need someone to take charge of what we've talked about above, using Git or whatever. | |
Andreas 28-Oct-2010 [60] | I'd be willing to do that. |
Carl 28-Oct-2010 [61x2] | Ok, very good. |
What do you think about soliciting a few inputs from other developers regarding choice of rev control and related issues... because we'll want them to use it? | |
Andreas 28-Oct-2010 [63x2] | Fine with me, but not really a necessity. |
As long as it is in _any_ version control we can easily bridge to almost any other VCS. | |
Carl 28-Oct-2010 [65x3] | Well, I want to make sure that Brian, Cyphre, Henrik, Maxim, and a few others have a chance to say something... since they're going to be some of the primary users. |
There are a few side issues around it too. Eg. do we need web access. | |
BTW, the reason I suggested Google was simply to gain greater visibility. | |
Andreas 28-Oct-2010 [68] | We only need to source for starters :) |
older newer | first last |