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

Document or automate macOS release machine setup #1393

Closed
rvagg opened this issue Jul 6, 2018 · 8 comments
Closed

Document or automate macOS release machine setup #1393

rvagg opened this issue Jul 6, 2018 · 8 comments

Comments

@rvagg
Copy link
Member

rvagg commented Jul 6, 2018

/cc @mhdawson

We removed the macOS setup docs in b804f76 but I don't believe we're fully automated for release machines so we need to retain this documentation somewhere but it also needs updating because this seems to change with each new macOS version (specifically the signing cert stuff) and whenever I do it my notes from previous attempts never seem to fully get me over the line. So it might be good to have someone go through the steps and document it themselves.

This is in the doc that we deleted in the above commit:


  • For release machines:
    • Install PackageMaker, download "Auxiliary Tools for Xcode - Late July 2012" from the Apple Developer site to get it, put it in ~iojs/PackageMaker.app (RV: need to check whether Node 6 needs this any more, possibly that died with Node 4?)
    • Install Packages from http://s.sudre.free.fr/Software/Packages/about.html
    • Install xz utilities from http://macpkg.sourceforge.net/
    • Install Node.js Foundation code signing and package signing certificates
      • Available from either the secrets repository under "release" as a passwordless .p12 file
      • OS X 10.10: In Keychain Access, "Import Items" and add both the Installer and Application certificates to the "System" (not "login" which is default)
      • OS X 10.10: Find the private key for Node.js Foundation under System in Keychain Access, "Get Info" for it, switch to "Access Control" and allow access by all applications. This step requires a physical keyboard under El Capitan and onward.
      • Command line alternative (all OS X?): sudo security import /path/to/id.p12 -k /Library/Keychains/System.keychain -T /usr/bin/codesign -T /usr/bin/productsign
    • Add ssh_config as ~iojs/.ssh/config
    • Install the staging key as ~/.ssh/id_rsa
@mhdawson
Copy link
Member

mhdawson commented Jul 6, 2018

Installed on the new release machine EXCEPT for Packagemaker as it sounded like this would not be required for 10.X and above and I think the plan would be for the new machine only to be used to build later versions (current master, and possibly 10.X depending on what we decide is ok).

@maclover7
Copy link
Contributor

Ah, my bad. Is this mostly covered with #1391? Or do more things need to be added to the Ansible scripts?

@mhdawson
Copy link
Member

mhdawson commented Jul 9, 2018

@rvagg looks like things build ok on master, does that line up with what you expected? ie Packagemaker not being needed for recent versions?

@mhdawson
Copy link
Member

mhdawson commented Jul 9, 2018

These

Should be able to be added to the ansible scripts. Installing them on the test machines as well as the release machines should be fine (even though they are not necessary on the test machines).

I suggest that we should be the downloads on the ci machine under downloads like we do with some binaries needed for other platforms.

The last step

  • Install Node.js Foundation code signing and package signing certificates

cannot be added to the ansible scripts as the signing keys must have limited access.

@github-actions
Copy link

github-actions bot commented Mar 9, 2020

This issue is stale because it has been open many days with no activity. It will be closed soon unless the stale label is removed or a comment is made.

@github-actions github-actions bot added the stale label Mar 9, 2020
@mhdawson
Copy link
Member

mhdawson commented Mar 9, 2020

@AshCripps can you see if this part is automated or not and comment on whether there is anything left to do?

@AshCripps AshCripps removed the stale label Mar 11, 2020
@AshCripps
Copy link
Member

@rvagg Did you have to do any of these steps in the recent release machine setup?

@rvagg
Copy link
Member Author

rvagg commented Mar 13, 2020

rolled into #2199, it even mentions this issue in the new docs as being the old version

@rvagg rvagg closed this as completed Mar 13, 2020
rvagg added a commit that referenced this issue Mar 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants