r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 Host Kit]

Carl
28-Oct-2010
[565]
Correct. You're seeing a snapshot.
Andreas
28-Oct-2010
[566x2]
And from what I see, there is not much automation.
The automation I am speaking off would automatically build and test 
for all supported platforms on each commit.
Carl
28-Oct-2010
[568]
Yes, we are talking different types of automation.
Andreas
28-Oct-2010
[569x2]
That is the only automation that matters, though.
Would have saved you hours of time in the course of R3 alone.
Carl
28-Oct-2010
[571x5]
Which one?
Huh?
I don't think so.
The automation you are talking about is classical language based. 
That's fine. We should use as much of it as we can.
But, if you grep the .h files, you'll notice that various ones are 
generated, not created by hand, and that's just the host-kit side.
Andreas
28-Oct-2010
[576]
The automation I am talking about is language agnostic.
Carl
28-Oct-2010
[577x2]
The fact that the host-lib is out of sync is an interesting puzzle. 
In theory, that is impossible to have happen if a /Core is released 
along with a /Host-Kit.
I understand. You're talking about makefile automation. The build 
process is far more complex than that.
Andreas
28-Oct-2010
[579x3]
No, I am talking about automated builds.
And automated tests. The kids call it "continuous integration" these 
days.
That is a process and as such language and toolchain agnostic.
Carl
28-Oct-2010
[582x2]
Continuous integration is really a separate dimension from automation... 
it's a set of objectives for more frequently producing test targets.
If that's what you're suggesting, I'm all for it.
Andreas
28-Oct-2010
[584x2]
Yes, that's what I am suggesting.
Automated builds, automated testing, automated release packaging.
Carl
28-Oct-2010
[586]
Revision control, test suites, rapid/daily builds, easy downloading 
of results.
Andreas
28-Oct-2010
[587x3]
And whatever you want to call it, the process is simple: you have 
a single code base, version controlled. Upon every change to this 
code base, you automatically build and test on all supported platforms.
Yes, exactly. But not "rapid" or "daily" builds, automated builds.
Without human intervention. You commit a piece of code, and automagically 
7 machines pick up the changes and start building.
Carl
28-Oct-2010
[590x2]
Continuous integration is really a separate dimension from automation.
We've been doing that since 1999.
Andreas
28-Oct-2010
[592]
Build automation and test automation is one integral part of modern 
CI.
Maxim
28-Oct-2010
[593]
carl, I have to go now... take a peek at the private messages... 
I'll pick up later.
Carl
28-Oct-2010
[594x2]
M: ok
BTW, Jeff Kreis (at REBOL) wrote the system we used for full cross 
platform networked automated builds.
Andreas
28-Oct-2010
[596]
Time to get that going again for R3.
Carl
28-Oct-2010
[597x3]
You're probably right.
Back then we did it internally and used our own method. But, by now, 
there must be some external method that will work, right?
Some of that was the goal of DevBase... but there are only so many 
hours in a day.
Andreas
28-Oct-2010
[600]
It's all doable.
Carl
28-Oct-2010
[601]
The other important issue is that easy rollback (revert) is required.
Andreas
28-Oct-2010
[602]
And if we don't reinvent the wheel at every step, it'll probably 
be done sooner rather than later.
Carl
28-Oct-2010
[603x2]
I don't think we need to invent anything for this part of it.
E.g. we still use makefiles... works fine.
Andreas
28-Oct-2010
[605x3]
The first step is having the sources version controlled.
And DevBase would not be my first choice for that ...
And as you obviously want to maintain the closed-source nature of 
libr3, that step will already require a bit of work.
Carl
28-Oct-2010
[608]
WRT the tools, we go down this road every year or so... but what 
happens is that no good solution is found.  However, I remain open 
minded.
Andreas
28-Oct-2010
[609x3]
Concretely: let's assume you have your internal sources in Subversion 
or Git.
Then the first step would be to create a post-commit hook (a script 
that runs on every commit), that exports your internal sources into 
the externally visible sources.
Those "externally visible sources" are what I consider to be the 
hostkit.
Carl
28-Oct-2010
[612]
Andreas, we should probably switch to a different group to keep all 
this together... is there a group already on this?
Andreas
28-Oct-2010
[613x2]
Don't think so.
(And yes, we probably should.)