Difference between revisions of "DMD Release Building"

From D Wiki
Jump to: navigation, search
(Build steps)
(refer to release.sh script)
 
(35 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
== Release Engineers ==
 +
 +
[[Martin_Nowak]]
 +
 
== Requirements ==
 
== Requirements ==
  
Line 18: Line 22:
 
== Build steps ==
 
== Build steps ==
  
* Combining the changelog
+
* Use the [https://gist.github.com/MartinNowak/a471fe7ddbfeef205cdf04c93a94c6d0 release.sh] script
** copy the changelog.dd parts from the dmd/druntime/phobos stable repos to a new dlang.org/changelog/2.068.1.dd
 
** use tools/changed to get the bugzilla changelog list
 
** Update prev/next navigation in changelogs
 
** Update dlang.org/win32.mak
 
 
 
* Test building the stable branch
 
** cd installer/create_dmd_release
 
** rdmd build_all v2.068.0 stable
 
** possibly fix build script, repos, or update patches
 
 
 
* Tag a new version
 
 
 
<code>
 
  for proj in dmd druntime phobos tools dlang.org installer; do
 
    pushd $proj
 
    git fetch upstream
 
    git tag -sm 'v2.068.1-b1' v2.068.1-b1
 
    git push upstream v2.068.1-b1
 
    popd
 
  done
 
</code>
 
 
 
* Build binaries
 
** cd installer/create_dmd_release
 
** rm -rf build
 
** rdmd build_all v2.068.0 v2.068.1-b1
 
 
 
* Sign binaries
 
 
 
<code>
 
  for file in build/*; do
 
    gpg2 -b $file
 
  done
 
</code>
 
 
 
* Upload binaries
 
** <code>rsync --progress -av --chmod=ug=rw build/ martin@digitalmars.com:/var/pub/digitalmars.com/</code>
 
** Upload to releases or pre-releases
 
*** <code>aws --profile ddo s3 sync build/ s3://downloads.dlang.org/pre-releases/2015/ --acl public-read --cache-control max-age=604800</code>
 
*** <code>aws --profile ddo s3 sync build/ s3://downloads.dlang.org/releases/2015/ --acl public-read --cache-control max-age=604800</code>
 
*** Make sure to check for errors during upload and probably repeat
 
 
 
* Update downloads.dlang.org
 
** cd downloads.dlang.org (https://github.com/braddr/downloads.dlang.org)
 
** ls create_dmd_release/build >> make-links
 
** edit 'make-links' and add symlinks for all the new files
 
** run make-links
 
** commit and push the make-links update
 
** make and run src/build-gen-index to regenerate the download pages to /tmp/ddo
 
** <code>aws --profile ddo s3 sync /tmp/ddo/ s3://downloads.dlang.org/ --acl
 
public-read --cache-control max-age=604800</code>
 
 
 
* Merge stable branches into master
 
* Rebuild and sync dlang.org
 
* Write an announcement to digitalmars.D.announce and/or dmd-beta.
 

Latest revision as of 11:53, 8 April 2017

Release Engineers

Martin_Nowak

Requirements

Setup boxes

  • See the build script for how to setup the vagrant boxes.

https://github.com/D-Programming-Language/installer/blob/a01d9092a5409e507e1ea1c734f6336b8bfcd2f6/create_dmd_release/build_all.d#L14

Build steps