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

ansible: add 10.15 macs #2189

Merged
merged 5 commits into from
Feb 26, 2020
Merged

ansible: add 10.15 macs #2189

merged 5 commits into from
Feb 26, 2020

Conversation

AshCripps
Copy link
Member

@AshCripps AshCripps commented Feb 19, 2020

Its finally here 🎉

Currently a draft as ive only had time to add one machine and shave a couple hairy yaks

Fixes: #1695

Copy link
Contributor

@sam-github sam-github left a comment

Choose a reason for hiding this comment

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

LGTM, though I understand its WIP. There was more churn in inventory.yml than I expected, does it include some unrelated changes, or is it some cleanups while you are there?

ansible/roles/java-base/tasks/main.yml Outdated Show resolved Hide resolved
Comment on lines +98 to +103
- name: install java tap (macOS)
become_user: administrator
when: java.rc > 0 and os|startswith("macos")
homebrew_tap:
name: AdoptOpenJDK/openjdk
state: present
Copy link
Member Author

@AshCripps AshCripps Feb 20, 2020

Choose a reason for hiding this comment

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

This is effectively duplicated code from

- name: Add AdoptOpenJDK Java Repo
become_user: administrator
homebrew_tap:
name: AdoptOpenJDK/openjdk
but I needed this change to get be able install the openjdk, even though ansible tells me the task ive linked to ran ok. @nodejs/build anyone have an ideas/experience as to why this code works in one place but not another?

Copy link
Member

Choose a reason for hiding this comment

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

So partials/brew.yml ran and you saw it running homebrew_tap for the AdoptOpenJDK/openjdk cask and the next task, which installs the package, failed until you yanked the homebrew_tap into this position? It's not an ordering problem is it, partials/brew.yml ran before this didn't it?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah I can see partials/brew,yml run but it reports nothing changed under add AdoptOpenJDK repo it wasnt until I add the tap to this position that anything happened

AshCripps added 2 commits February 20, 2020 17:40
also tidied up the nearform section and put it in order with the rest of
the document
@AshCripps
Copy link
Member Author

Created the jenkins agents - https://ci.nodejs.org/label/osx1015/

Will need someone to create the release agent for me.

@nodejs/build-infra can someone add the IPs to the respective CI firewalls please?

@AshCripps
Copy link
Member Author

Currently seeing these test failures on one of the test machines:

=== release test-dgram-connect-send-empty-array ===
Path: parallel/test-dgram-connect-send-empty-array
Command: out/Release/node /Users/iojs/node/test/parallel/test-dgram-connect-send-empty-array.js
--- TIMEOUT ---
=== release test-dgram-connect-send-empty-buffer ===
Path: parallel/test-dgram-connect-send-empty-buffer
Command: out/Release/node /Users/iojs/node/test/parallel/test-dgram-connect-send-empty-buffer.js
--- TIMEOUT ---
=== release test-dgram-connect-send-empty-packet ===
Path: parallel/test-dgram-connect-send-empty-packet
Command: out/Release/node /Users/iojs/node/test/parallel/test-dgram-connect-send-empty-packet.js
--- TIMEOUT ---
=== release test-dgram-send-empty-array ===
Path: parallel/test-dgram-send-empty-array
Command: out/Release/node /Users/iojs/node/test/parallel/test-dgram-send-empty-array.js
--- TIMEOUT ---
=== release test-dgram-send-empty-buffer ===
Path: parallel/test-dgram-send-empty-buffer
Command: out/Release/node /Users/iojs/node/test/parallel/test-dgram-send-empty-buffer.js
--- TIMEOUT ---
=== release test-dgram-send-empty-packet ===
Path: parallel/test-dgram-send-empty-packet
Command: out/Release/node /Users/iojs/node/test/parallel/test-dgram-send-empty-packet.js
--- TIMEOUT ---
[11:32|% 100|+ 2913|-   6]: Done

Im assuming these are errors due to some mising network settings?

@sam-github
Copy link
Contributor

Perhaps a one-time run of https://github.com/nodejs/node/blob/master/tools/macos-firewall.sh is needed?

@AshCripps
Copy link
Member Author

Done some digging, looks like this is a known catalina issue - nodejs/node#30030 which Apple has not fixed yet

sam-github added a commit to sam-github/node that referenced this pull request Feb 24, 2020
They fail on OS X 10.15 (aka "Catalina"), but pass on earlier OS X.

Refs: nodejs#30030
Refs: nodejs/build#2189 (comment)
@sam-github
Copy link
Contributor

@AshCripps can you try nodejs/node#31936 and see if the updating of expected status fixes this for you?

Copy link
Member

@rvagg rvagg left a comment

Choose a reason for hiding this comment

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

sgtm, do I take it from this that release-nearform-macos10.15-x64-1 is a thing and we could start switching releases over to it soon?

@AshCripps
Copy link
Member Author

AshCripps commented Feb 25, 2020

sgtm, do I take it from this that release-nearform-macos10.15-x64-1 is a thing and we could start switching releases over to it soon?

yes @rvagg there is a release machine setup, just waiting on its IP to be added to the firewall - same as the test machines.

need nodejs/node#31936 to land on all lines to stop the constant test failures

Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

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

LGTM

@mhdawson
Copy link
Member

@AshCripps firewall entries added for both test and release.

@sam-github
Copy link
Contributor

@AshCripps the machine is in ci-release and is connected: https://ci-release.nodejs.org/computer/release-nearform-macos10.15-x64-1/ (for those with visibility).

I had trouble getting in by ssh, but could you add the release team ssh key to .ssh/authorized_keys?

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFCAmx+ldk/UyR0x0xrsvdORi59uGPdErcitIjjBZRFnE87MGIZtmsZIqGogxgEc1A1t86/eCCvL7we31iE0sF71Stx17ZxTKuo/VCTACeg1GRd3/wdVHXphAss5sBYyV/T7hcGq7aq4PsrloAUhLfmivXAG0ALhWG3AAv4AnVWaa372XWIoYqiDQCL5uEClEP/A95CdqRrbYY4bWZRR0eZMgWhX5Npy1tThuA+p0+mmvY6AGHpTW33+d8qfGwubv1tPvV7G+vQ2cjlQTWd+NfnmzoOGUIcXGZ8yhfdXwFeNdduyIalL1Jm2WxbyStQ2SFXIFgSK+tjVEMGC4H+N8oOd2jbZYANxkCDugbaP3OSYwOYyUGnMJztt1g8oemGN9QtY7GGssuOxeUrYXGAYpD7BEqX7Jh2v5zd7Uvl7W60oYwikTtJkIEclEKOE2dEhHwDrZbt3KhF+VSjhaZdfrt+fMm3qQMGPdx16lT/IxHUm825A6Nzbmtm0H8yczXGnhG59w3bGAcUxD7OqZPmQaQnw1Abba0BBbsjj28KdkUddm91DjRzJCnXtJ6DLJxxn40MISE/loy/yvCLb3HCvhgo55hB4C0XCeMfbVYGwbx3TrX1en89aZ96s9EAMATZk4S+47cnx3jfy/5CP6ms4UsvGCelMPhgdqGBG/xOr7kKw== release@build.nodejs.org

^--- check for inadvertent cut-n-paste line breaks! should be one line. That's the public key, it has no sec significance, but once its there any release team member can ssh in (I assume, not a member myself).

At that point, I think @rvagg could dry-run notarization.

@AshCripps
Copy link
Member Author

@sam-github added, can you try now?

@sam-github
Copy link
Contributor

@AshCripps no, I can't try, only these people have the private key that goes with that public one :-)

I'll open an issue to get you enough access to do add the machines to test CI.

@sam-github
Copy link
Contributor

@AshCripps you are already a https://github.com/nodejs/build#jenkins-admins, so, the thing to do now is to create a node-test-commit-osx-ashcripps job by cloning the base job. Once you have the clone, go to the machine selection part, and find the osx1015 label that the 3 new test machines have, and click it. At that point, you should be able trigger a run of the job against nodejs/master from the Jenkins UI, and see that they fail on the tests that are skipped by nodejs/node#31936, or you could even test my specific branch from that PR, if you want, to confirm the build is green. Then, once we can see the build is green in your cloned job, we are good to select the osx1015 machines to add them to CI in the regular node-test-commit-osx... and the test side of this is done.

After that, its mop-up: adding the label to the release builds, the v8 builds, citgm.... etc.

@AshCripps AshCripps changed the title [WIP] ansible: add 10.15 macs ansible: add 10.15 macs Feb 26, 2020
@AshCripps
Copy link
Member Author

AshCripps commented Feb 26, 2020

sam-github added a commit to nodejs/node that referenced this pull request Feb 26, 2020
They fail on OS X 10.15 (aka "Catalina"), but pass on earlier OS X.

Refs: #30030
Refs: nodejs/build#2189 (comment)

PR-URL: #31936
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
@AshCripps AshCripps merged commit 1b222ff into nodejs:master Feb 26, 2020
@AshCripps
Copy link
Member Author

oops @rvagg the release machine needs this doing to it - #1393. I dont have the access nessacary to do it I dont think

@AshCripps
Copy link
Member Author

Added the machines to node-test-commit and all citgm jobs

Tried adding it to a libuv job but I get an xcodebuild error which is weird as xcodebuild isnt on any of the currently working machines: https://ci.nodejs.org/job/libuv-test-commit-osx-AshCripps/1/

Any ideas @richardlau?

@richardlau
Copy link
Member

It’s probably related to #2172 and the version of gyp being used being old. gyp in nodejs/node and nodejs/node-gyp were updated to cope with double digit versions of xcode.

BethGriggs pushed a commit to nodejs/node that referenced this pull request Feb 27, 2020
They fail on OS X 10.15 (aka "Catalina"), but pass on earlier OS X.

Refs: #30030
Refs: nodejs/build#2189 (comment)

PR-URL: #31936
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
codebytere pushed a commit to nodejs/node that referenced this pull request Feb 27, 2020
They fail on OS X 10.15 (aka "Catalina"), but pass on earlier OS X.

Refs: #30030
Refs: nodejs/build#2189 (comment)

PR-URL: #31936
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
rvagg pushed a commit that referenced this pull request Mar 4, 2020
* ansible: Add newer versions of macOS

* ansible: add macos10.15 release machine

* ansible: fix openjdk download on mac

* ansible: add 3 test machines

also tidied up the nearform section and put it in order with the rest of
the document

* ansible: tweak macos install
@AshCripps AshCripps deleted the add-new-mac branch March 4, 2020 13:01
puzpuzpuz pushed a commit to puzpuzpuz/node that referenced this pull request Mar 8, 2020
They fail on OS X 10.15 (aka "Catalina"), but pass on earlier OS X.

Refs: nodejs#30030
Refs: nodejs/build#2189 (comment)

PR-URL: nodejs#31936
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
codebytere pushed a commit to nodejs/node that referenced this pull request Mar 14, 2020
They fail on OS X 10.15 (aka "Catalina"), but pass on earlier OS X.

Refs: #30030
Refs: nodejs/build#2189 (comment)

PR-URL: #31936
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>

PR-URL: #32146
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

provision mac minis at nearform as osx machines in jenkins CI
5 participants