Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: add info on post-publishing ARM6 builds #17455

Closed
wants to merge 1 commit into from

Conversation

mhdawson
Copy link
Member

@mhdawson mhdawson commented Dec 4, 2017

ARM6 takes longer, more often fails builds than other
platforms. Add instructions for how to recover in this
case.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • documentation is changed or added
  • commit message follows commit guidelines
Affected core subsystem(s)

doc

@nodejs-github-bot nodejs-github-bot added the doc Issues and PRs related to the documentations. label Dec 4, 2017
@mhdawson mhdawson requested a review from gibfahn December 4, 2017 15:28
@mscdex mscdex added the build Issues and PRs related to build files or the CI. label Dec 4, 2017
doc/releases.md Outdated
re-run the build only for ARM6. When launching the build make sure to
use the same commit hash as for the original release.

**b.** Re-run steps 12-13 to promote and sign the release builds.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to specify the names of those sections in case the numbering gets changed later.

doc/releases.md Outdated

The ARM6 builds take significantly longer to build than other platforms
and are more prone to failure. For this reason a release may be published
in advance of the ARM6 build being ready.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like it should be part of the step above:

If you didn't wait for ARM builds in the previous step before promoting the release, you should re-run tools/release.sh after the ARM builds have finished. That will move the ARM artifacts into the correct location. You will be prompted to re-sign SHASUMS256.txt.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel it at least should not be after 17. Celebrate (which implies everything is done). As @gibfahn points out, it's already kind of mentioned in 12. Promote and Sign the Release Builds but maybe it's not prominent enough because we have frequently forgotten to promote them (e.g. nodejs/nodejs.org#1382).

Also is there any particular reason to include the 6 and not just say ARM?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is only the ARMv6 builds that are really slow.

@mhdawson
Copy link
Member Author

mhdawson commented Dec 4, 2017

@gibfahn updated to merge into that step.

Copy link
Member

@gibfahn gibfahn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with suggestion.

doc/releases.md Outdated
@@ -214,7 +214,9 @@ If you have an error on Windows and need to start again, be aware that you'll ge

ARMv7 takes the longest to compile. Unfortunately ccache isn't as effective on release builds, I think it's because of the additional macro settings that go in to a release build that nullify previous builds. Also most of the release build machines are separate to the test build machines so they don't get any benefit from ongoing compiles between releases. You can expect 1.5 hours for the ARMv7 builder to complete and you should normally wait for this to finish. It is possible to rush a release out if you want and add additional builds later but we normally provide ARMv7 from initial promotion.

You do not have to wait for the ARMv6 / Raspberry PI builds if they take longer than the others. It is only necessary to have the main Linux (x64 and x86), macOS .pkg and .tar.gz, Windows (x64 and x86) .msi and .exe, source, headers, and docs (both produced currently by an macOS worker). **If you promote builds _before_ ARM builds have finished, you must repeat the promotion step for the ARM builds when they are ready**.
You do not have to wait for the ARMv6 / Raspberry PI builds if they take longer than the others. It is only necessary to have the main Linux (x64 and x86), macOS .pkg and .tar.gz, Windows (x64 and x86) .msi and .exe, source, headers, and docs (both produced currently by an macOS worker). **If you promote builds _before_ ARM builds have finished, you must repeat the promotion step for the ARM builds when they are ready**. If the ARMv6 build failed for some
reason you can use the `iojs-release-arm6-only` build in the release CI to re-run the build only for ARMv6. When launching the build make sure to
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe make it:

[`iojs-release-arm6-only`](https://ci-release.nodejs.org/job/iojs+release-arm6-only/)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@gibfahn
Copy link
Member

gibfahn commented Dec 4, 2017

cc/ @nodejs/release

doc/releases.md Outdated
@@ -214,7 +214,7 @@ If you have an error on Windows and need to start again, be aware that you'll ge

ARMv7 takes the longest to compile. Unfortunately ccache isn't as effective on release builds, I think it's because of the additional macro settings that go in to a release build that nullify previous builds. Also most of the release build machines are separate to the test build machines so they don't get any benefit from ongoing compiles between releases. You can expect 1.5 hours for the ARMv7 builder to complete and you should normally wait for this to finish. It is possible to rush a release out if you want and add additional builds later but we normally provide ARMv7 from initial promotion.

You do not have to wait for the ARMv6 / Raspberry PI builds if they take longer than the others. It is only necessary to have the main Linux (x64 and x86), macOS .pkg and .tar.gz, Windows (x64 and x86) .msi and .exe, source, headers, and docs (both produced currently by an macOS worker). **If you promote builds _before_ ARM builds have finished, you must repeat the promotion step for the ARM builds when they are ready**.
You do not have to wait for the ARMv6 / Raspberry PI builds if they take longer than the others. It is only necessary to have the main Linux (x64 and x86), macOS .pkg and .tar.gz, Windows (x64 and x86) .msi and .exe, source, headers, and docs (both produced currently by an macOS worker). **If you promote builds _before_ ARM builds have finished, you must repeat the promotion step for the ARM builds when they are ready**. If the ARMv6 build failed for some reason you can use the [`iojs-release-arm6-only`](https://ci-release.nodejs.org/job/iojs+release-arm6-only/) build in the release CI to re-run the build only for ARMv6. When launching the build make sure to use the same commit hash as for the original release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit - Since the other sentences only use a single whitespace after a sentence, I would suggest to do the same here?

@mhdawson
Copy link
Member Author

mhdawson commented Dec 7, 2017

Will do, its hard to overcome many years at school (in the past) where 2 spaces was the only way :)

@mhdawson
Copy link
Member Author

mhdawson commented Dec 8, 2017

@mhdawson
Copy link
Member Author

mhdawson commented Dec 8, 2017

CI looks good landing.

ARM6 takes longer, more often fails builds than other
platforms.  Add instructions for how to recover in this
case.
@mhdawson
Copy link
Member Author

mhdawson commented Dec 8, 2017

Landed as 4e65f9d

@mhdawson mhdawson closed this Dec 8, 2017
mhdawson added a commit that referenced this pull request Dec 8, 2017
ARM6 takes longer, more often fails builds than other
platforms.  Add instructions for how to recover in this
case.

PR-URL: #17455
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
MylesBorins pushed a commit that referenced this pull request Dec 12, 2017
ARM6 takes longer, more often fails builds than other
platforms.  Add instructions for how to recover in this
case.

PR-URL: #17455
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
MylesBorins pushed a commit that referenced this pull request Dec 12, 2017
ARM6 takes longer, more often fails builds than other
platforms.  Add instructions for how to recover in this
case.

PR-URL: #17455
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@MylesBorins MylesBorins mentioned this pull request Dec 12, 2017
gibfahn pushed a commit that referenced this pull request Dec 20, 2017
ARM6 takes longer, more often fails builds than other
platforms.  Add instructions for how to recover in this
case.

PR-URL: #17455
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@gibfahn gibfahn mentioned this pull request Dec 20, 2017
gibfahn pushed a commit that referenced this pull request Dec 20, 2017
ARM6 takes longer, more often fails builds than other
platforms.  Add instructions for how to recover in this
case.

PR-URL: #17455
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@gibfahn gibfahn mentioned this pull request Dec 20, 2017
@mhdawson mhdawson deleted the arm branch September 30, 2019 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants