|
|
(26 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
| |
− | | |
− | Push the tags to your private forks (origin) first to test whether the release builds cleanly as tags on upstream '''must''' not be changed later on. To build from your private forks you need to change the base url in [https://github.com/D-Programming-Language/installer/blob/e5c8c60295e5d83c086d98f08978273059dec24d/create_dmd_release/build_all.d#L336 cloneSources].
| |
− | | |
− | <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 upstream/stable
| |
− | 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
| |
− | ** update version in <code>src/gen_index.d</code>
| |
− | ** make and run <code>src/build-gen-index</code> 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>
| |
− | ** commit and push changes to downloads.dlang.org
| |
− | | |
− | * Update LATEST
| |
− | ** ssh martin@digitalmars.com 'echo -n 2.069.0 > /var/pub/digitalmars.com/LATEST'
| |
− | * Merge stable branches into master
| |
− | | |
− | <code>
| |
− | cd dmd # repeat for every repo
| |
− | git fetch upstream
| |
− | git checkout -b merge_stable upstream/master
| |
− | git merge upstream/stable
| |
− | # fix any conflicts
| |
− | git hub pull new -b master
| |
− | </code>
| |
− | * Rebuild and sync dlang.org
| |
− | * Use a tool like [https://github.com/ocodia/Check-My-Links/ Check-My-Links] to check the download pages
| |
− | * Write an announcement to digitalmars.D.announce and/or dmd-beta.
| |