Difference between revisions of "DMD Release Building"
(Created page with "== Requirements == * a linux (maybe osx) host * virtualbox * vagrant (https://www.vagrantup.com/) * a Windows 7 license * an OSX (currently 10.8) license * a gpg key that is...") |
m (→Setup boxes) |
||
Line 14: | Line 14: | ||
* See the build script for how to setup the vagrant 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 == | == Build steps == |
Revision as of 15:39, 4 October 2015
Requirements
- a linux (maybe osx) host
- virtualbox
- vagrant (https://www.vagrantup.com/)
- a Windows 7 license
- an OSX (currently 10.8) license
- a gpg key that is part of our keyring (http://dlang.org/gpg_keys.html)
- an S3 account for http://downloads.dlang.org
- an ssh account for http://ftp.digitalmars.com
- aws client tool
Setup boxes
- See the build script for how to setup the vagrant boxes.
Build steps
- Combining the changelog
- 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
- 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
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
- Build binaries
- cd installer/create_dmd_release
- rm -rf build
- rdmd build_all v2.068.0 v2.068.1-b1
- Sign binaries
for file in build/*; do
gpg2 -b $file
done
- Upload binaries
rsync --progress -av --chmod=ug=rw build/ martin@digitalmars.com:/var/pub/digitalmars.com/
- Upload to releases or pre-releases
aws --profile ddo s3 sync build/ s3://downloads.dlang.org/pre-releases/2015/ --acl public-read --cache-control max-age=604800
aws --profile ddo s3 sync build/ s3://downloads.dlang.org/releases/2015/ --acl public-read --cache-control max-age=604800
- 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
aws --profile ddo s3 sync /tmp/ddo/ s3://downloads.dlang.org/ --acl
public-read --cache-control max-age=604800
- Merge stable branches into master
- Rebuild and sync dlang.org
- Write an announcement to digitalmars.D.announce and/or dmd-beta.