|
1 | 1 | # Manual steps required to setup machines |
2 | 2 |
|
3 | | -* [Firewall Config](#adding-firewall-entries-for-jenkins-workers) |
4 | | -* [Release machines](#release--machines) |
5 | | -* [RHEL7-s390x](#RHEL7-s390x) |
6 | | - * [V8 Build Tools](#V8-build-tools) |
7 | | - * [Devtoolset-6](#devtoolset-6-install) |
| 3 | +* [Adding firewall entries for Jenkins workers](#adding-firewall-entries-for-jenkins-workers) |
| 4 | +* [`release-*` machines](#release--machines) |
| 5 | + * [macOS release machines](#macos-release-machines) |
| 6 | + * [Full Xcode](#full-xcode) |
| 7 | + * [Signing certificates](#signing-certificates) |
| 8 | +* [RHEL7-S390X](#rhel7-s390x) |
| 9 | + * [V8 build-tools](#v8-build-tools) |
| 10 | + * [devtoolset-6 install](#devtoolset-6-install) |
8 | 11 | * [macOS](#macos) |
9 | | -* [AIX 72](#aix-72-install) |
10 | | - * [ccache on AIX 72](#ccache-374-on-aix-72) |
11 | | - * [AHA filesystem](#Enable-the-AHA-fs) |
12 | | - * [XL Compilers](#Install-XL-compilers) |
13 | | - * [Missing shared objects](#fix-missing-shared-objects) |
14 | | - * [Preparing GCC](#Preparing-gcc-distributables) |
15 | | - * [Preparing ccache](#Preparing-ccache-distributables) |
16 | | -* [Windows](#windows-azurerackspace) |
17 | | - * [Control Machine](#control-machine-where-ansible-is-run) |
18 | | - * [Target machines](#Target-machines) |
19 | | -* [Jenkins Workspace](#jenkins-workspace) |
20 | | -* [Docker hosts](#Docker-hosts) |
21 | | -* [SmartOS](#SmartOS) |
22 | | -* [Raspberry Pi](#Raspberry-Pi) |
23 | | - * [NFS boot](#NFS-boot) |
| 12 | +* [AIX 7.2 Install](#aix-72-install) |
| 13 | + * [ccache 3.7.4 on AIX 7.2](#ccache-374-on-aix-72) |
| 14 | + * [Enable the AHA fs](#enable-the-aha-fs) |
| 15 | + * [Install XL compilers](#install-xl-compilers) |
| 16 | + * [Fix "Missing" shared objects](#fix-missing-shared-objects) |
| 17 | + * [Preparing gcc distributables](#preparing-gcc-distributables) |
| 18 | + * [Preparing ccache distributables](#preparing-ccache-distributables) |
| 19 | +* [Windows (Azure/Rackspace)](#windows-azurerackspace) |
| 20 | + * [Control machine (where Ansible is run)](#control-machine-where-ansible-is-run) |
| 21 | + * [Target machines](#target-machines) |
| 22 | +* [jenkins-workspace](#jenkins-workspace) |
| 23 | +* [Docker hosts](#docker-hosts) |
| 24 | +* [SmartOS](#smartos) |
| 25 | +* [Raspberry Pi](#raspberry-pi) |
| 26 | + * [NFS boot](#nfs-boot) |
24 | 27 |
|
25 | 28 |
|
26 | 29 | ## Adding firewall entries for Jenkins workers |
@@ -57,11 +60,35 @@ Host node-www |
57 | 60 |
|
58 | 61 | Its necessary to accept the `known_hosts` keys interactively on first ssh or |
59 | 62 | the release builds will fail. After setting up .ssh, do something like this: |
| 63 | + |
60 | 64 | ``` |
61 | 65 | ssh node-www date |
62 | 66 | // ... accept the host keys |
63 | 67 | ``` |
64 | 68 |
|
| 69 | +### macOS release machines |
| 70 | + |
| 71 | +Previous notes: [#1393](https://github.com/nodejs/build/issues/1393) |
| 72 | + |
| 73 | +#### Full Xcode |
| 74 | + |
| 75 | +Xcode Command-line tools are not enough to perform a full notarization cycle, full Xcode must be installed manually. |
| 76 | + |
| 77 | +As root: |
| 78 | + |
| 79 | +* Download Xcode: https://developer.apple.com/download/more/ - find non-beta version, open Developer Tools in browser, Networking tab, start download (then cancel), in Networking tab "Copy as cURL" (available in Chrome & FF) |
| 80 | +* Download onto release machine using the copied curl command (may need `-o xcode.xip` appended to curl command) to `/tmp` |
| 81 | +* Extract: `xip --extract xcode.xip` |
| 82 | +* Move `Xcode.app` directory to `/Applications` |
| 83 | +* `xcode-select --switch /Applications/Xcode.app` |
| 84 | +* `xcode-select -r` - accept license |
| 85 | + |
| 86 | +#### Signing certificates |
| 87 | + |
| 88 | +* Extract from secrets/build/release: `dotgpg cat Apple\ Developer\ ID\ Node.js\ Foundation.p12.base64 | base64 -d > /tmp/Apple\ Developer\ ID\ Node.js\ Foundation.p12` |
| 89 | +* Transfer to release machine (scp to /tmp) |
| 90 | +* `sudo security import /tmp/Apple\ Developer\ ID\ Node.js\ Foundation.p12 -k /Library/Keychains/System.keychain -T /usr/bin/codesign -T /usr/bin/productsign -P 'XXXX'` (where XXXX is found in secrets/build/release/apple.md) (`security unlock-keychain -u /Library/Keychains/System.keychain` _may_ be required prior to running this command). |
| 91 | + |
65 | 92 | ## RHEL7-S390X |
66 | 93 |
|
67 | 94 | ### V8 build-tools |
|
0 commit comments