Closed Bug 1325445 Opened 3 years ago Closed 3 years ago

Update builders to rust 1.14

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(firefox53 fixed)

RESOLVED FIXED
mozilla53
Tracking Status
firefox53 --- fixed

People

(Reporter: rillian, Assigned: rillian)

Details

Attachments

(2 files)

Rust 1.14.0 stable was released today. We've been doing official builds with 1.14.0-beta.2 for the debuginfo support. Now we can transition to the stable release.
Our rust repack script is currently blocked on some issues with the cargo release signing. Should be resolved soon. See https://github.com/rust-lang/rust/issues/38519#issuecomment-268871193
Assignee: nobody → giles
Comment on attachment 8821335 [details]
Bug 1325445 - Use sha256sum to verify rust releases.

https://reviewboard.mozilla.org/r/100652/#review101336

::: testing/docker/rust-build/repack_rust.py:31
(Diff revision 1)
> +def sha256sum():
> +  '''Return the command for verifying SHA-2 256-bit checksums.'''
> +  if sys.platform.startswith('darwin'):
> +      return 'shasum'
> +  else:
> +      return 'sha256sum'

Do all platforms not have access to just 'shasum'? That seems to work locally for me in Linux, OSX, and Windows, though obviously our builders may be different.
Attachment #8821335 - Flags: review?(mshal) → review+
Comment on attachment 8821336 [details]
Bug 1325445 - Update builders to rust 1.14.0 stable.

https://reviewboard.mozilla.org/r/100654/#review101338
Attachment #8821336 - Flags: review?(mshal) → review+
Comment on attachment 8821336 [details]
Bug 1325445 - Update builders to rust 1.14.0 stable.

https://reviewboard.mozilla.org/r/100654/#review101398
Needs rebasing around bug 1029245 and bug 1302763.
Comment on attachment 8821335 [details]
Bug 1325445 - Use sha256sum to verify rust releases.

https://reviewboard.mozilla.org/r/100652/#review101406

Rebased past bug 1029245 and bug 1302763. Carry r=mshal.
Comment on attachment 8821335 [details]
Bug 1325445 - Use sha256sum to verify rust releases.

https://reviewboard.mozilla.org/r/100652/#review101336

> Do all platforms not have access to just 'shasum'? That seems to work locally for me in Linux, OSX, and Windows, though obviously our builders may be different.

On linux `shasum` seems to be provided by perl's digest-sha package. On debian-derived distros, that's a dependency of perl, so it's pretty common to have it installed, and `mach boostrap` will in fact install it through `dpkg-dev`. On Fedora it's not a perl dependency, so an explicit installation is required. In any case, it's not installed by default on either distro's docker images, but `sha256sum` from GNU coreutils is.

Since this is a docker image, we should really be using `sha256sum` as the more core utils. But confusingly, homebrew's coreutils doesn't provide the sha-2 versions of these utilities for some reasons, so it's hard to use those on Mac. So while this is a little ugly, it was just to save my sanity running the script on different systems during development.
Pushed by rgiles@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4fcea80bb19e
Use sha256sum to verify rust releases. r=mshal
https://hg.mozilla.org/integration/autoland/rev/26dfb927a58d
Update builders to rust 1.14.0 stable. r=mshal
I had to back these out for at least failing lint: https://treeherder.mozilla.org/logviewer.html#?job_id=8389246&repo=autoland

Builds are also failing like https://treeherder.mozilla.org/logviewer.html#?job_id=8389251&repo=autoland#L40901 but I'm not confident enough to pin the blame on these patches yet.

https://hg.mozilla.org/integration/autoland/rev/98cdfbfe7177
Flags: needinfo?(giles)
Comment on attachment 8821335 [details]
Bug 1325445 - Use sha256sum to verify rust releases.

https://reviewboard.mozilla.org/r/100652/#review101470

::: taskcluster/docker/rust-build/repack_rust.py:33
(Diff revision 2)
> +    '''Return the command for verifying SHA-2 256-bit checksums.'''
> +    if sys.platform.startswith('darwin'):
> +        return 'shasum'
> +    else:
> +        return 'sha256sum'
>  

We have a lint task which runs on checkin that wants double-newlines between functions. Verify with `./mach lint taskcluster/docker/rust-build/` but be sure to clean out any virtualenv files first, since most packages won't pass.
Comment on attachment 8821335 [details]
Bug 1325445 - Use sha256sum to verify rust releases.

https://reviewboard.mozilla.org/r/100650/#review101472
Comment on attachment 8821335 [details]
Bug 1325445 - Use sha256sum to verify rust releases.

https://reviewboard.mozilla.org/r/100652/#review101474

I fixed the python lint. Not sure about the other issue. I can't load the linked log. There was a timeout on the MacOS debug static checking build on try. I didn't see what could have caused that, so hoped the sheriff would recognize it. I guess not. Mac timeouts make me think of https://github.com/rust-lang/rust/issues/34674 but I don't see why 1.14.0 would trigger it but 1.14.0-beta.2 would not.
Pushed to try again after rebasing on this morning's m-c. This time it was green, but the MacOS X 10.7 Debug Static Checking Build took a long time (one or two hours instead of <20 minutes) so maybe the timeout is intermittent. I wasn't able to find the source of the delay:

> ========= Started '/tools/buildbot/bin/python scripts/scripts/fx_desktop_build.py ...' (results: 0, elapsed: 1 hrs, 11 mins, 0 secs) (at 2017-01-03 14:35:33.626370) =========
> 15:46:32     INFO - # TBPL SUCCESS #
> 15:46:32     INFO - Running post-run listener: copy_logs_to_upload_dir
> 15:46:32     INFO - Copying logs to upload dir...
> 15:46:32     INFO - Copying logs to upload dir...
> program finished with exit code 0
> elapsedTime=4259.317081
> ========= master_lag: 0.72 =========
> ========= Finished '/tools/buildbot/bin/python scripts/scripts/fx_desktop_build.py ...' (results: 0, elapsed: 1 hrs, 11 mins, 0 secs) (at 2017-01-03 15:46:33.664719) =========

`fx_desktop_build.py` took an hour. The absolute time is is 14:35 at the start of that script section and 15:46 at the end. There's a 10 minute gap between the end of `sccache --show-stats` and the start of `make -f client.mk automation/build` but otherwise it makes steady progress.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=98ed32f004f4b835fbaaf8d054cfb2285e3e2dc4&selectedJob=65931165
Flags: needinfo?(giles)
I found an unrelated slow job in https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&selectedJob=65958803 so I think this is not my patch. Will try landing again.
Pushed by rgiles@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c2ea0c1cde24
Use sha256sum to verify rust releases. r=mshal
https://hg.mozilla.org/integration/autoland/rev/8efc2e833e82
Update builders to rust 1.14.0 stable. r=mshal
https://hg.mozilla.org/mozilla-central/rev/c2ea0c1cde24
https://hg.mozilla.org/mozilla-central/rev/8efc2e833e82
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.