Coming Soon: Stable D Releases!

Adam Wilson flyboynw at gmail.com
Mon Jul 16 12:37:53 PDT 2012


On Mon, 16 Jul 2012 09:41:30 -0700, Andrei Alexandrescu  
<SeeWebsiteForEmail at erdani.org> wrote:

> On 7/16/12 3:51 AM, Adam Wilson wrote:
>> As a result of the D Versioning thread, we have decided to create a new
>> organization on Github called dlang-stable. This organization will be
>> responsible for maintaining stable releases of DMD, DRuntime, and  
>> Phobos.
> [snip]
>> Thank you for reading and I hope you enjoy D's new Stable releases!
>
> This is a wonderful initiative that I hope will catch on.
>
> Walter and I are fully behind this experiment. We will make/accept  
> changes to the download pages to take into account this new branch.
>
> The main threat I see is bugfixes that depend on code previously  
> introduced with now features. I'm not sure how frequent that situation  
> is.
>
> Finally, one suggestion: I suggest you relentlessly work to automate the  
> process to the point where you issue e.g. the command
>
> ./merge 534d44c979 70dcb958ea
>
> and the script merges in the two specified commits, builds everything,  
> runs the test suite, runs the Phobos unittests, and if all worked,  
> builds packages and uploads them making them available right away.

The only problem I can see with this is that the build would only for  
whichever OS the merger happens to be running on. A two step process is  
about the best we can do.

./merge does the following
git fetch upstream
git cherry-pick 534d44c979
git cherry-pick 70dcb958ea

If the cherry pick is successful, push to master, which will need to be  
done manually in case any merge conflicts arise.

./build does the following for all projects
git fetch origin
git merge origin/master
make clean -f <system>.mak
make -f <system>.mak
make unittests -f <system>.mak

As for actually putting together the script, my Bash-fu, is not as strong  
as my PowerShell-fu, but with some effort it could be achieved. Both are  
not terribly difficult (expect for the uploading part).

> That way the team members (busy professionals with many other  
> responsibilities) know that once the collective decision to merge a  
> commit has been taken, there's virtually no overhead to deploying the  
> decision.
>
> I'm a huge fan of automation and I believe we've made progress  
> introducing it in dmd's process, but not as much as we could and should.
>
>
> Good luck!
>
> Andrei
>


-- 
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/


More information about the Digitalmars-d-announce mailing list