71
edits
Franziskus (talk | contribs) (started release management doc) |
Franziskus (talk | contribs) (updated) |
||
Line 22: | Line 22: | ||
# <span style="color:#FF0000"> Also, we usually discuss on the nss-dev list when we freeze nspr/nss.Someone should have sent a note to the list, announcing that a new NSS release is being worked on, and that the NSS tree is frozen.</span> | # <span style="color:#FF0000"> Also, we usually discuss on the nss-dev list when we freeze nspr/nss.Someone should have sent a note to the list, announcing that a new NSS release is being worked on, and that the NSS tree is frozen.</span> | ||
# <span style="color:#FF0000"> Please send email to the "nss-dev" list saying "The NSS trunk is open for 3.27 development" after finishing the process.</span> | # <span style="color:#FF0000"> Please send email to the "nss-dev" list saying "The NSS trunk is open for 3.27 development" after finishing the process.</span> | ||
# After the release is done: | |||
## Please send email to nss-dev, saying that the NSS release has been uploaded to FTP/S3. | |||
## Ask for the list of changes in the release, and ask who will send the announcement. | |||
## Send the announcement to the dev-tech-crypto mailing list https://lists.mozilla.org/listinfo/dev-tech-crypto | |||
===== Verify correctness ===== | ===== Verify correctness ===== | ||
Line 60: | Line 64: | ||
===== Create the NSS release archive ===== | ===== Create the NSS release archive ===== | ||
Make sure you have a stage directory. | # Make sure you have a stage directory next to the NSS dir. | ||
#: <code>$ mkdir stage</code> | |||
# Go to the NSS dir | |||
#: <code>$ cd /your/path/to/nss</code> | |||
# In 4.12 be the required NSPR version | |||
# Make sure that the NSPR release archive file is contained in your stage directory. (Download it, if you don't have it.) | |||
# Run the following command to create two release archive files (<code>nss-3.26.tar.gz</code> and <code>nss-3.26-with-nspr-4.12.tar.gz</code>) and two files SHA1SUMS and SHA256SUMS in <code>/your/path/to/stage/NSS_3_26_RTM/src/</code>. | |||
#: <code>$ python automation/release/nss-release-helper.py create_nss_release_archive 3.26 NSS_3_26_RTM 4.12 ../stage</code> | |||
===== Some additional check one may want to perform ===== | |||
This section is only for the paranoid, only in case you want to double-check that the created file is correct. | |||
# Extract it the archive | |||
# Check that all files inside the directory use the following two prefix dirs: | |||
#: <code>nss-3.26/nss/</code> | |||
#: <code>nss-3.26/nspr/</code> | |||
# Check that file <code>nss-3.26/nss/.hg_archival.txt</code> mentions <code>tag: NSS_3_26_RTM</code> | |||
# You could double-check that the three version number files have all <code>_BETA</code> flags set to <code>PR_FALSE</code> and no version string line <code>_VERSION</code> contains Beta. | |||
# Remove the extracted directory, to ensure you won't upload the individual files. | |||
===== Upload release to public ftp/amazon s3. ===== | |||
When running the following command ensure that you use the directory name NSS_3_26_RTM twice, both in source and in destination. | |||
$ cd /your/path/to/stage | |||
$ find NSS_3_26_RTM | |||
twice, both in source and in destination. | |||
$ cd / | |||
$ find NSS_3_26_RTM | |||
expected output: | expected output: | ||
NSS_3_26_RTM/ | NSS_3_26_RTM/ | ||
NSS_3_26_RTM/src | NSS_3_26_RTM/src | ||
NSS_3_26_RTM/src/nss-3.26.tar.gz | NSS_3_26_RTM/src/nss-3.26.tar.gz | ||
NSS_3_26_RTM/src/nss-3.26-with-nspr-4.12.tar.gz | NSS_3_26_RTM/src/nss-3.26-with-nspr-4.12.tar.gz | ||
NSS_3_26_RTM/src/SHA256SUMS | NSS_3_26_RTM/src/SHA256SUMS | ||
NSS_3_26_RTM/src/SHA1SUMS | NSS_3_26_RTM/src/SHA1SUMS | ||
# Check that there's no NSS_3_26_RTM directory at https://ftp.mozilla.org/pub/security/nss/releases/. | |||
# Ensure you have aws command installed. | |||
# <span style="color:#FF0000"> more infos on aws</span> | |||
# Upload the release | |||
#: <code>$ aws s3 cp NSS_3_26_RTM s3://net-mozaws-prod-delivery-contrib/pub/security/nss/releases/NSS_3_26_RTM --recursive</code> | |||
# Check https://ftp.mozilla.org/pub/security/nss/releases/ (can be delayed!) | |||
# Check upload: | |||
#: <code>$ aws s3 ls s3://net-mozaws-prod-delivery-contrib/pub/security/nss/releases/</code> | |||
#: <code>$ aws s3 ls s3://net-mozaws-prod-delivery-contrib/pub/security/nss/releases/NSS_3_26_RTM/</code> | |||
#: <code>$ aws s3 ls s3://net-mozaws-prod-delivery-contrib/pub/security/nss/releases/NSS_3_26_RTM/src/</code> | |||
===== Upgrading mozilla-central ===== | |||
# Someone should approve the upgrade. | |||
# For the upgrade task, we have docs https://developer.mozilla.org/en/docs/Updating_NSPR_or_NSS_in_mozilla-central Go to a mozilla-inbound checkout and run the following. | |||
#: <code>$ python client.py update_nss NSS_3_26_RTM</code> | |||
#: <code>$ hg commit -m "Bug 1216283, land NSS_3_26_RTM, r=the-reviewer-name"</code> | |||
#: <code>$ hg push</code> | |||
# If we must land into branches, like aurora or beta, we must get approvals, etc. Note that we don't do patches for branch landing. We use a placeholder attachment | |||
with the command to be executed. The reason is, that the state of those dependency files might be different between branches (where we upgrade or remove newlines as necessary, to trigger full rebuilds). By using the upgrade script, this is handled automatically. | |||
Someone | |||
For the upgrade task, we have docs | |||
https://developer.mozilla.org/en/docs/Updating_NSPR_or_NSS_in_mozilla-central | |||
$ hg commit -m "Bug 1216283, land NSS_3_26_RTM, r=the-reviewer-name" | |||
$ hg push | |||
If we must land into branches, like aurora or beta, we must get approvals, etc. | |||
Note we don't do patches for branch landing. We use a placeholder attachment | |||
with the command to be executed. | |||
The reason is, that the state of those dependency files might be different | |||
between branches (where we upgrade or remove newlines as necessary, | |||
to trigger full rebuilds). By using the upgrade script, this is handled | |||
automatically. |
edits