From 6e1655379912b29fdee3593fe3e53c5a953b0716 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 20 Feb 2020 11:25:28 -0500 Subject: [PATCH 01/21] Bump github version to get dugite-native fix --- package-lock.json | 233 +++++++++++++++++++++++++++++++++++++++------- package.json | 4 +- 2 files changed, 201 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index af8106a62..d0344d03b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1218,6 +1218,19 @@ } } }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, "@types/node": { "version": "12.0.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", @@ -1681,9 +1694,9 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "resolve": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz", - "integrity": "sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "requires": { "path-parse": "^1.0.6" } @@ -1861,13 +1874,13 @@ "integrity": "sha1-eEp5eRWjjq0nutRWtVcstLuqeME=" }, "browserslist": { - "version": "4.8.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.6.tgz", - "integrity": "sha512-ZHao85gf0eZ0ESxLfCp73GG9O/VTytYDIkIiZDlURppLTI9wErSM/5yAKEq6rcUdxBLjMELmrYUJGg5sxGKMHg==", + "version": "4.8.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.7.tgz", + "integrity": "sha512-gFOnZNYBHrEyUML0xr5NJ6edFaaKbTFX9S9kQHlYfCP0Rit/boRIz4G+Avq6/4haEKJXdGGUnoolx+5MWW2BoA==", "requires": { - "caniuse-lite": "^1.0.30001023", - "electron-to-chromium": "^1.3.341", - "node-releases": "^1.1.47" + "caniuse-lite": "^1.0.30001027", + "electron-to-chromium": "^1.3.349", + "node-releases": "^1.1.49" } }, "buffer-alloc": { @@ -1904,6 +1917,44 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1915,9 +1966,9 @@ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" }, "caniuse-lite": { - "version": "1.0.30001025", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001025.tgz", - "integrity": "sha512-SKyFdHYfXUZf5V85+PJgLYyit27q4wgvZuf8QTOk1osbypcROihMBlx9GRar2/pIcKH2r4OehdlBr9x6PXetAQ==" + "version": "1.0.30001028", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001028.tgz", + "integrity": "sha512-Vnrq+XMSHpT7E+LWoIYhs3Sne8h9lx9YJV3acH3THNCwU/9zV93/ta4xVfzTtnqd3rvnuVpVjE3DFqf56tr3aQ==" }, "caseless": { "version": "0.12.0", @@ -2052,6 +2103,14 @@ "wrap-ansi": "^2.0.0" } }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -2411,6 +2470,11 @@ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -2627,14 +2691,14 @@ } }, "dugite": { - "version": "1.87.6", - "resolved": "https://registry.npmjs.org/dugite/-/dugite-1.87.6.tgz", - "integrity": "sha512-hUAv0epYi7hWQJISma6xBrW5DSa+VIblsDlKsP2uf/BHdgORubuqRIDQcoWTS83zR4A638dwMThchvlQDnUSqA==", + "version": "1.88.2", + "resolved": "https://registry.npmjs.org/dugite/-/dugite-1.88.2.tgz", + "integrity": "sha512-wTo0Ul4yuAF4YS7ot6k4/bmVB0YKHSjSnlzk84qewoS7mknuQuPhOOnxfq1iQd6twgZm+RoMrbWHDRobnLuADg==", "requires": { "checksum": "^0.1.1", + "got": "^9.6.0", "mkdirp": "^0.5.1", "progress": "^2.0.3", - "request": "^2.88.0", "rimraf": "^2.5.4", "tar": "^4.4.7" } @@ -2644,6 +2708,11 @@ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", @@ -2654,9 +2723,9 @@ } }, "electron-to-chromium": { - "version": "1.3.345", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.345.tgz", - "integrity": "sha512-f8nx53+Z9Y+SPWGg3YdHrbYYfIJAtbUjpFfW4X1RwTZ94iUG7geg9tV8HqzAXX7XTNgyWgAFvce4yce8ZKxKmg==" + "version": "1.3.355", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.355.tgz", + "integrity": "sha512-zKO/wS+2ChI/jz9WAo647xSW8t2RmgRLFdbUb/77cORkUTargO+SCj4ctTHjBn2VeNFrsLgDT7IuDVrd3F8mLQ==" }, "emissary": { "version": "1.3.3", @@ -3246,6 +3315,25 @@ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + }, + "dependencies": { + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -3286,8 +3374,8 @@ } }, "github": { - "version": "https://www.atom.io/api/packages/github/versions/0.34.0/tarball", - "integrity": "sha512-UoZeqt+DWnZFe1OEXrWzJ5QEzYli2480EE6q2PMvBZ8bnViqKr1lJO1///N2EAIyAhBvcBMjWJZPARPsexFH1Q==", + "version": "https://www.atom.io/api/packages/github/versions/0.34.1/tarball", + "integrity": "sha512-Tr7H4jJnXxCOQRtiahS2TaZssDNmec5iZoHQHNk4vbc+Rx3EvRDD1nW7Ztk1UJp5aDVM9ZSK6oipFlSA0WIbQA==", "requires": { "@atom/babel-plugin-chai-assert-async": "1.0.0", "@atom/babel7-transpiler": "1.0.0-1", @@ -3302,7 +3390,7 @@ "classnames": "2.2.6", "compare-sets": "1.0.1", "dompurify": "2.0.7", - "dugite": "1.87.6", + "dugite": "1.88.2", "event-kit": "2.5.3", "fs-extra": "4.0.3", "graphql": "14.5.8", @@ -3407,6 +3495,24 @@ "go-to-line": { "version": "file:packages/go-to-line" }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", @@ -3556,6 +3662,11 @@ } } }, + "http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-Z2EICWNJou7Tr9Bd2M2UqDJq3A9F2ePG9w3lIpjoyuSyXFP9QbniJVu3XQYytuw5ebmG7dXSXO9PgAjJG8DDKA==" + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -3861,6 +3972,11 @@ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -4015,6 +4131,14 @@ } } }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -4508,6 +4632,11 @@ } } }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, "lru-cache": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", @@ -4929,9 +5058,9 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, "node-abi": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.14.0.tgz", - "integrity": "sha512-y54KGgEOHnRHlGQi7E5UiryRkH8bmksmQLj/9iLAjoje743YS+KaKB/sDYXgqtT0J16JT3c3AYJZNI98aU/kYg==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.15.0.tgz", + "integrity": "sha512-FeLpTS0F39U7hHZU1srAK4Vx+5AHNVOTP+hxBNQknR/54laTHSFIJkDWDqiquY1LeLUgTfPN7sLPhMubx0PLAg==", "requires": { "semver": "^5.4.1" }, @@ -4961,9 +5090,9 @@ } }, "node-releases": { - "version": "1.1.47", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.47.tgz", - "integrity": "sha512-k4xjVPx5FpwBUj0Gw7uvFOTF4Ep8Hok1I6qjwL3pLfwe7Y0REQSAqOwwv9TWBCUtMHxcXfY4PgRLRozcChvTcA==", + "version": "1.1.49", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.49.tgz", + "integrity": "sha512-xH8t0LS0disN0mtRCh+eByxFPie+msJUBL/lJDBuap53QGiYPa9joh83K4pCZgWJ+2L4b9h88vCVdXQ60NO2bg==", "requires": { "semver": "^6.3.0" }, @@ -4996,6 +5125,11 @@ "validate-npm-package-license": "^3.0.1" } }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, "notifications": { "version": "https://www.atom.io/api/packages/notifications/versions/0.71.0/tarball", "integrity": "sha512-WVMtVHgq1a9p37SlEy8tNZ2E6F1sUnRwoUtUK/QhOAZGskGOCgDACM29ThMPp9poNySBJ1kc/LakQSP7wToc6w==", @@ -5171,6 +5305,11 @@ "object-assign": "^4.1.0" } }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, "package-generator": { "version": "https://www.atom.io/api/packages/package-generator/versions/1.3.0/tarball", "integrity": "sha512-twt7ewPEcSBJASqEytVeVSP14BGT3SiUhMhL4VmAIVpv+YttFo2UTaxNTHdubjYrNMV0we+J1la2CxoX/bx6Bg==", @@ -5380,6 +5519,11 @@ } } }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", @@ -5663,9 +5807,9 @@ "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==" }, "regjsparser": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.2.tgz", - "integrity": "sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz", + "integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==", "requires": { "jsesc": "~0.5.0" } @@ -5796,6 +5940,14 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, "rfdc": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", @@ -6539,9 +6691,9 @@ }, "dependencies": { "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" } } }, @@ -6685,6 +6837,11 @@ "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=" }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, "tough-cookie": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", @@ -6994,6 +7151,14 @@ "update-package-dependencies": { "version": "file:packages/update-package-dependencies" }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, "user-home": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", diff --git a/package.json b/package.json index a64b592e6..6c87ce250 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "fuzzy-finder": "https://www.atom.io/api/packages/fuzzy-finder/versions/1.14.1/tarball", "git-diff": "file:packages/git-diff", "git-utils": "5.6.1", - "github": "https://www.atom.io/api/packages/github/versions/0.34.0/tarball", + "github": "https://www.atom.io/api/packages/github/versions/0.34.1/tarball", "glob": "^7.1.1", "go-to-line": "file:packages/go-to-line", "grammar-selector": "file:packages/grammar-selector", @@ -201,7 +201,7 @@ "exception-reporting": "file:./packages/exception-reporting", "find-and-replace": "0.219.3", "fuzzy-finder": "1.14.1", - "github": "0.34.0", + "github": "0.34.1", "git-diff": "file:./packages/git-diff", "go-to-line": "file:./packages/go-to-line", "grammar-selector": "file:./packages/grammar-selector", From a0cabdaade6b28d1239f084f02b5fb48fae41b40 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 20 Feb 2020 11:40:58 -0500 Subject: [PATCH 02/21] disable release step to avoid releasing this --- script/vsts/nightly-release.yml | 85 +++++++++++++++++---------------- 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/script/vsts/nightly-release.yml b/script/vsts/nightly-release.yml index 5dde2fe2a..46ef18099 100644 --- a/script/vsts/nightly-release.yml +++ b/script/vsts/nightly-release.yml @@ -15,45 +15,46 @@ jobs: - template: platforms/macos.yml - template: platforms/linux.yml - - job: Release - pool: - vmImage: vs2015-win2012r2 # needed for Python 2.7 and gyp - - dependsOn: - - GetReleaseVersion - - Windows - - Linux - - macOS_tests - - variables: - ReleaseVersion: $[ dependencies.GetReleaseVersion.outputs['Version.ReleaseVersion'] ] - - steps: - - task: NodeTool@0 - inputs: - versionSpec: 10.2.1 - displayName: Install Node.js 10.2.1 - - # This has to be done separately because VSTS inexplicably - # exits the script block after `npm install` completes. - - script: | - cd script\vsts - npm install - displayName: npm install - - - task: DownloadBuildArtifacts@0 - inputs: - itemPattern: '**' - downloadType: 'specific' - displayName: Download Release Artifacts - - - script: | - node $(Build.SourcesDirectory)\script\vsts\upload-artifacts.js --create-github-release --assets-path "$(System.ArtifactsDirectory)" --linux-repo-name "atom" - env: - GITHUB_TOKEN: $(GITHUB_TOKEN) - ATOM_RELEASE_VERSION: $(ReleaseVersion) - ATOM_RELEASES_S3_KEY: $(ATOM_RELEASES_S3_KEY) - ATOM_RELEASES_S3_SECRET: $(ATOM_RELEASES_S3_SECRET) - ATOM_RELEASES_S3_BUCKET: $(ATOM_RELEASES_S3_BUCKET) - PACKAGE_CLOUD_API_KEY: $(PACKAGE_CLOUD_API_KEY) - displayName: Create Nightly Release +# +# - job: Release +# pool: +# vmImage: vs2015-win2012r2 # needed for Python 2.7 and gyp +# +# dependsOn: +# - GetReleaseVersion +# - Windows +# - Linux +# - macOS_tests +# +# variables: +# ReleaseVersion: $[ dependencies.GetReleaseVersion.outputs['Version.ReleaseVersion'] ] +# +# steps: +# - task: NodeTool@0 +# inputs: +# versionSpec: 10.2.1 +# displayName: Install Node.js 10.2.1 +# +# # This has to be done separately because VSTS inexplicably +# # exits the script block after `npm install` completes. +# - script: | +# cd script\vsts +# npm install +# displayName: npm install +# +# - task: DownloadBuildArtifacts@0 +# inputs: +# itemPattern: '**' +# downloadType: 'specific' +# displayName: Download Release Artifacts +# +# - script: | +# node $(Build.SourcesDirectory)\script\vsts\upload-artifacts.js --create-github-release --assets-path "$(System.ArtifactsDirectory)" --linux-repo-name "atom" +# env: +# GITHUB_TOKEN: $(GITHUB_TOKEN) +# ATOM_RELEASE_VERSION: $(ReleaseVersion) +# ATOM_RELEASES_S3_KEY: $(ATOM_RELEASES_S3_KEY) +# ATOM_RELEASES_S3_SECRET: $(ATOM_RELEASES_S3_SECRET) +# ATOM_RELEASES_S3_BUCKET: $(ATOM_RELEASES_S3_BUCKET) +# PACKAGE_CLOUD_API_KEY: $(PACKAGE_CLOUD_API_KEY) +# displayName: Create Nightly Release From 514da1f66c8e69f4051a536ef2a87baea4b180bd Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 20 Feb 2020 12:17:49 -0500 Subject: [PATCH 03/21] Bump symbols-view to include the new ctags-darwin --- package-lock.json | 35 ++++++++++++++++++----------------- package.json | 4 ++-- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index d0344d03b..c72d89cc9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2380,12 +2380,19 @@ "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" }, "ctags": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ctags/-/ctags-3.0.0.tgz", - "integrity": "sha1-sLckF9B0ZRcqiZ0C9y8/wnP4KjY=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ctags/-/ctags-3.1.0.tgz", + "integrity": "sha512-7/aiGLj8Ih7Ko3bAAg8bQUwHjOGXKQ7XC+bv+vLh84BtkVodPEOpOnr65FnWjX2oFWoKSaDuxe7jFHudD2Q0uw==", "requires": { "event-stream": "~3.1.0", - "nan": "^2" + "nan": "^2.14.0" + }, + "dependencies": { + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + } } }, "d": { @@ -6617,12 +6624,12 @@ "integrity": "sha1-KYexzivS84sNzio0OIiEv6RADqc=" }, "symbols-view": { - "version": "https://www.atom.io/api/packages/symbols-view/versions/0.118.2/tarball", - "integrity": "sha512-F83LvcjRLYqcxXD9z++jX28Vdj7fkcYRa2vhCo9A2m9PSZkt8kAfas5kJ95F2LFXvkFCjfWRqVVVrQ8gMumKsA==", + "version": "https://www.atom.io/api/packages/symbols-view/versions/0.118.4/tarball", + "integrity": "sha512-Cfwks5NAGdjPwIXY5yX/DzXdgyf8lGECJQvxIeKarggOCzP3EQLbeJFiVNXv2tdQh+nb5vI2juD1TjZStxFOig==", "requires": { "async": "^0.2.6", "atom-select-list": "^0.7.0", - "ctags": "^3.0.0", + "ctags": "^3.1.0", "fs-plus": "^3.0.0", "fuzzaldrin": "^2.1.0", "humanize-plus": "^1.8.2", @@ -6630,18 +6637,12 @@ "underscore-plus": "^1.6.6" }, "dependencies": { - "rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" - }, "temp": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", - "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", "requires": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" + "rimraf": "~2.6.2" } } } diff --git a/package.json b/package.json index 6c87ce250..d391057f5 100644 --- a/package.json +++ b/package.json @@ -152,7 +152,7 @@ "spell-check": "https://www.atom.io/api/packages/spell-check/versions/0.75.0/tarball", "status-bar": "https://www.atom.io/api/packages/status-bar/versions/1.8.17/tarball", "styleguide": "https://www.atom.io/api/packages/styleguide/versions/0.49.12/tarball", - "symbols-view": "https://www.atom.io/api/packages/symbols-view/versions/0.118.2/tarball", + "symbols-view": "https://www.atom.io/api/packages/symbols-view/versions/0.118.4/tarball", "tabs": "https://www.atom.io/api/packages/tabs/versions/0.110.0/tarball", "temp": "^0.9.0", "text-buffer": "13.17.1", @@ -220,7 +220,7 @@ "spell-check": "0.75.0", "status-bar": "1.8.17", "styleguide": "0.49.12", - "symbols-view": "0.118.2", + "symbols-view": "0.118.4", "tabs": "0.110.0", "timecop": "0.36.2", "tree-view": "0.228.0", From 5ae28ef133db4df07e9d0c95c05e1e4eb7a460a9 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 20 Feb 2020 13:49:54 -0500 Subject: [PATCH 04/21] Install electron helper packages (notarize and osx-sign) --- package-lock.json | 102 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 + 2 files changed, 104 insertions(+) diff --git a/package-lock.json b/package-lock.json index c72d89cc9..562f8b2ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1790,6 +1790,11 @@ "base16-tomorrow-light-theme": { "version": "file:packages/base16-tomorrow-light-theme" }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -2277,6 +2282,11 @@ "resolved": "https://registry.npmjs.org/compare-sets/-/compare-sets-1.0.1.tgz", "integrity": "sha1-me1EydezCN54Uv8RFJcr1Poj5yc=" }, + "compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2729,6 +2739,78 @@ "jsbn": "~0.1.0" } }, + "electron-notarize": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.2.1.tgz", + "integrity": "sha512-oZ6/NhKeXmEKNROiFmRNfytqu3cxqC95sjooG7kBXQVEUSQkZnbiAhxVh5jXngL881G197pbwpeVPJyM7Ikmxw==", + "requires": { + "debug": "^4.1.1", + "fs-extra": "^8.1.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "electron-osx-sign": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.15.tgz", + "integrity": "sha512-1QtPNpjIji9bGZ0VRFwtJUyU1uHi7q3XUAOG0qFsvAUfs5H0T8hbgUfyg3xvPzmF1ruV8T8pQmQ86vNfLrcRiA==", + "requires": { + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^3.0.1" + }, + "dependencies": { + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "requires": { + "buffer-alloc": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, "electron-to-chromium": { "version": "1.3.355", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.355.tgz", @@ -5442,6 +5524,16 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "plist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", + "requires": { + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" + } + }, "postcss": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.4.tgz", @@ -7307,6 +7399,16 @@ "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=" }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, + "xmldom": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", + "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==" + }, "xregexp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-3.2.0.tgz", diff --git a/package.json b/package.json index d391057f5..52b79f8bc 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,8 @@ "deprecation-cop": "file:packages/deprecation-cop", "dev-live-reload": "file:packages/dev-live-reload", "devtron": "1.3.0", + "electron-notarize": "0.2.1", + "electron-osx-sign": "0.4.15", "encoding-selector": "https://www.atom.io/api/packages/encoding-selector/versions/0.23.9/tarball", "etch": "^0.12.6", "event-kit": "^2.5.3", From 58e9bcd6d4e57fea3156440dcc5e1cf7fc111110 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Mon, 24 Feb 2020 20:18:52 -0500 Subject: [PATCH 05/21] add code signing using osx-sign --- resources/mac/entitlements.plist | 8 +++++++ script/lib/code-sign-on-mac.js | 40 +++++++++++++++++++++----------- 2 files changed, 35 insertions(+), 13 deletions(-) create mode 100644 resources/mac/entitlements.plist diff --git a/resources/mac/entitlements.plist b/resources/mac/entitlements.plist new file mode 100644 index 000000000..bb87459e7 --- /dev/null +++ b/resources/mac/entitlements.plist @@ -0,0 +1,8 @@ + + + + + com.apple.security.cs.allow-unsigned-executable-memory + + + \ No newline at end of file diff --git a/script/lib/code-sign-on-mac.js b/script/lib/code-sign-on-mac.js index b1f246b94..a62c0d025 100644 --- a/script/lib/code-sign-on-mac.js +++ b/script/lib/code-sign-on-mac.js @@ -1,8 +1,16 @@ const downloadFileFromGithub = require('./download-file-from-github'); +const CONFIG = require('../config'); const fs = require('fs-extra'); const os = require('os'); const path = require('path'); const spawnSync = require('./spawn-sync'); +const osxSign = require('electron-osx-sign'); +const macEntitlementsPath = path.join( + CONFIG.repositoryRootPath, + 'resources', + 'mac', + 'entitlements.plist' +); module.exports = function(packagedAppPath) { if ( @@ -120,19 +128,25 @@ module.exports = function(packagedAppPath) { } console.log(`Code-signing application at ${packagedAppPath}`); - spawnSync( - 'codesign', - [ - '--deep', - '--force', - '--verbose', - '--keychain', - process.env.ATOM_MAC_CODE_SIGNING_KEYCHAIN, - '--sign', - 'Developer ID Application: GitHub', - packagedAppPath - ], - { stdio: 'inherit' } + + osxSign.sign( + { + app: packagedAppPath, + entitlements: macEntitlementsPath, + identity: 'Developer ID Application: GitHub', + keychain: process.env.ATOM_MAC_CODE_SIGNING_KEYCHAIN, + platform: 'darwin', + hardenedRuntime: true + }, + + function done(err) { + if (err) { + console.error('Applicaiton singing failed'); + console.error(err); + return; + } + console.info('Application signing complete'); + } ); } finally { if (!process.env.ATOM_MAC_CODE_SIGNING_CERT_PATH) { From e2c1596049c36b91029f7f52d590c3387419492e Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Mon, 24 Feb 2020 21:30:23 -0500 Subject: [PATCH 06/21] upgrade macos version to 10.14 majove --- script/vsts/platforms/macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/vsts/platforms/macos.yml b/script/vsts/platforms/macos.yml index a8674eaf9..d5df21b8b 100644 --- a/script/vsts/platforms/macos.yml +++ b/script/vsts/platforms/macos.yml @@ -9,7 +9,7 @@ jobs: IsReleaseBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsReleaseBranch'] ] IsSignedZipBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsSignedZipBranch'] ] pool: - vmImage: macos-10.13 + vmImage: macos-10.14 steps: - task: NodeTool@0 @@ -95,7 +95,7 @@ jobs: dependsOn: macOS_build timeoutInMinutes: 180 pool: - vmImage: macos-10.13 + vmImage: macos-10.14 strategy: maxParallel: 3 matrix: From 7fc1064e88ab2e6f4f2feee9ef6e9ae7a20b0c45 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Mon, 24 Feb 2020 23:51:08 -0500 Subject: [PATCH 07/21] =?UTF-8?q?re-implement=20code=20signing=20using=20a?= =?UTF-8?q?sync=20=C2=A7electron-osx-sign?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/build | 4 ++-- script/lib/code-sign-on-mac.js | 23 +++++++++-------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/script/build b/script/build index 90f55012d..adbb34545 100755 --- a/script/build +++ b/script/build @@ -89,11 +89,11 @@ if (!argv.generateApiDocs) { binariesPromise .then(packageApplication) .then(packagedAppPath => generateStartupSnapshot(packagedAppPath).then(() => packagedAppPath)) - .then(packagedAppPath => { + .then(async packagedAppPath => { switch (process.platform) { case 'darwin': { if (argv.codeSign) { - codeSignOnMac(packagedAppPath) + await codeSignOnMac(packagedAppPath) } else if (argv.testSign) { testSignOnMac(packagedAppPath) } else { diff --git a/script/lib/code-sign-on-mac.js b/script/lib/code-sign-on-mac.js index a62c0d025..6b4213795 100644 --- a/script/lib/code-sign-on-mac.js +++ b/script/lib/code-sign-on-mac.js @@ -12,7 +12,7 @@ const macEntitlementsPath = path.join( 'entitlements.plist' ); -module.exports = function(packagedAppPath) { +module.exports = async function(packagedAppPath) { if ( !process.env.ATOM_MAC_CODE_SIGNING_CERT_DOWNLOAD_URL && !process.env.ATOM_MAC_CODE_SIGNING_CERT_PATH @@ -129,25 +129,20 @@ module.exports = function(packagedAppPath) { console.log(`Code-signing application at ${packagedAppPath}`); - osxSign.sign( - { + try { + await osxSign.signAsync({ app: packagedAppPath, entitlements: macEntitlementsPath, identity: 'Developer ID Application: GitHub', keychain: process.env.ATOM_MAC_CODE_SIGNING_KEYCHAIN, platform: 'darwin', hardenedRuntime: true - }, - - function done(err) { - if (err) { - console.error('Applicaiton singing failed'); - console.error(err); - return; - } - console.info('Application signing complete'); - } - ); + }); + console.info('Application signing complete'); + } catch (err) { + console.error('Applicaiton singing failed'); + console.error(err); + } } finally { if (!process.env.ATOM_MAC_CODE_SIGNING_CERT_PATH) { console.log(`Deleting certificate at ${certPath}`); From 056dafd45f537cc09777af9b0d680673726b20d9 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Tue, 25 Feb 2020 01:27:08 -0500 Subject: [PATCH 08/21] Try other entitlements to attempt starting the app --- resources/mac/entitlements.plist | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resources/mac/entitlements.plist b/resources/mac/entitlements.plist index bb87459e7..346ff2cbb 100644 --- a/resources/mac/entitlements.plist +++ b/resources/mac/entitlements.plist @@ -4,5 +4,9 @@ com.apple.security.cs.allow-unsigned-executable-memory + com.apple.security.cs.allow-jit + + com.apple.security.cs.disable-library-validation + \ No newline at end of file From a534190de76266ebf73d3bf40bbcd12c96e0477b Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Tue, 25 Feb 2020 02:00:17 -0500 Subject: [PATCH 09/21] Double check the version of mac and xcode --- resources/mac/entitlements.plist | 2 +- script/vsts/platforms/macos.yml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/mac/entitlements.plist b/resources/mac/entitlements.plist index 346ff2cbb..a06663bbc 100644 --- a/resources/mac/entitlements.plist +++ b/resources/mac/entitlements.plist @@ -9,4 +9,4 @@ com.apple.security.cs.disable-library-validation - \ No newline at end of file + diff --git a/script/vsts/platforms/macos.yml b/script/vsts/platforms/macos.yml index d5df21b8b..31203daa6 100644 --- a/script/vsts/platforms/macos.yml +++ b/script/vsts/platforms/macos.yml @@ -12,6 +12,12 @@ jobs: vmImage: macos-10.14 steps: + - task: Check MacOs version + - script: sw_vers -productVersion + + - task: Check XCode version + - script: gcc --version + - task: NodeTool@0 inputs: versionSpec: 10.2.1 From ca7170b76b437551b95ab55d9e567de5f9dee759 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Tue, 25 Feb 2020 02:02:24 -0500 Subject: [PATCH 10/21] fix macos yaml --- script/vsts/platforms/macos.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/script/vsts/platforms/macos.yml b/script/vsts/platforms/macos.yml index 31203daa6..0cafdce61 100644 --- a/script/vsts/platforms/macos.yml +++ b/script/vsts/platforms/macos.yml @@ -12,11 +12,11 @@ jobs: vmImage: macos-10.14 steps: - - task: Check MacOs version - script: sw_vers -productVersion - - - task: Check XCode version + displayName: Check MacOs version + - script: gcc --version + displayName: Check XCode version - task: NodeTool@0 inputs: From 7124233ea3ee1f543a03a30a76bdea4b28287984 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Tue, 25 Feb 2020 02:15:22 -0500 Subject: [PATCH 11/21] check macos sdk version --- script/vsts/platforms/macos.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/script/vsts/platforms/macos.yml b/script/vsts/platforms/macos.yml index 0cafdce61..435bb8003 100644 --- a/script/vsts/platforms/macos.yml +++ b/script/vsts/platforms/macos.yml @@ -18,6 +18,9 @@ jobs: - script: gcc --version displayName: Check XCode version + - script: xcrun --sdk macosx --show-sdk-path + displayName: Check MacOS SDK version + - task: NodeTool@0 inputs: versionSpec: 10.2.1 From 20e62193d8db3b2bb54205387cae60d1444a511f Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Wed, 26 Feb 2020 08:06:44 -0500 Subject: [PATCH 12/21] disable hardened runtime --- script/lib/code-sign-on-mac.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/lib/code-sign-on-mac.js b/script/lib/code-sign-on-mac.js index 6b4213795..f324ca4bb 100644 --- a/script/lib/code-sign-on-mac.js +++ b/script/lib/code-sign-on-mac.js @@ -136,7 +136,7 @@ module.exports = async function(packagedAppPath) { identity: 'Developer ID Application: GitHub', keychain: process.env.ATOM_MAC_CODE_SIGNING_KEYCHAIN, platform: 'darwin', - hardenedRuntime: true + hardenedRuntime: false }); console.info('Application signing complete'); } catch (err) { From 49eab7eb57d0a40b1c031485b1bc14e542999e94 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Wed, 26 Feb 2020 11:31:17 -0500 Subject: [PATCH 13/21] add notarization --- script/build | 2 ++ script/lib/notarize-on-mac.js | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 script/lib/notarize-on-mac.js diff --git a/script/build b/script/build index adbb34545..fc188fb35 100755 --- a/script/build +++ b/script/build @@ -48,6 +48,7 @@ const generateMetadata = require('./lib/generate-metadata') const generateModuleCache = require('./lib/generate-module-cache') const generateStartupSnapshot = require('./lib/generate-startup-snapshot') const installApplication = require('./lib/install-application') +const notarizeOnMac = require('./notarize-on-mac') const packageApplication = require('./lib/package-application') const prebuildLessCache = require('./lib/prebuild-less-cache') const testSignOnMac = require('./lib/test-sign-on-mac') @@ -94,6 +95,7 @@ if (!argv.generateApiDocs) { case 'darwin': { if (argv.codeSign) { await codeSignOnMac(packagedAppPath) + await notarizeOnMac(packagedAppPath) } else if (argv.testSign) { testSignOnMac(packagedAppPath) } else { diff --git a/script/lib/notarize-on-mac.js b/script/lib/notarize-on-mac.js new file mode 100644 index 000000000..26f4d6cb7 --- /dev/null +++ b/script/lib/notarize-on-mac.js @@ -0,0 +1,18 @@ +const notarize = require('electron-notarize').notarize; + +module.exports = async function(packagedAppPath) { + const appBundleId = 'com.github.atom'; + const appleId = process.env.AC_USER; + const appleIdPassword = process.env.AC_PASSWORD; + console.log(`Notarizing application at ${packagedAppPath}`); + try { + await notarize({ + appBundleId: appBundleId, + appPath: packagedAppPath, + appleId: appleId, + appleIdPassword: appleIdPassword + }); + } catch (e) { + throw new Error(e); + } +}; From 08fbd4587a431864771f2a3e85f33cbb098fb11e Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Wed, 26 Feb 2020 11:46:50 -0500 Subject: [PATCH 14/21] correct notarize-on-mac helper path --- script/build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/build b/script/build index fc188fb35..8eafe46f7 100755 --- a/script/build +++ b/script/build @@ -48,7 +48,7 @@ const generateMetadata = require('./lib/generate-metadata') const generateModuleCache = require('./lib/generate-module-cache') const generateStartupSnapshot = require('./lib/generate-startup-snapshot') const installApplication = require('./lib/install-application') -const notarizeOnMac = require('./notarize-on-mac') +const notarizeOnMac = require('./lib/notarize-on-mac') const packageApplication = require('./lib/package-application') const prebuildLessCache = require('./lib/prebuild-less-cache') const testSignOnMac = require('./lib/test-sign-on-mac') From bc8b84b5e3eced45ce825587d5ca9a2d586ee3d7 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Wed, 26 Feb 2020 15:41:11 -0500 Subject: [PATCH 15/21] pass env variables to the notarize script --- script/vsts/platforms/macos.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/script/vsts/platforms/macos.yml b/script/vsts/platforms/macos.yml index 435bb8003..056f2064c 100644 --- a/script/vsts/platforms/macos.yml +++ b/script/vsts/platforms/macos.yml @@ -70,7 +70,9 @@ jobs: ATOM_MAC_CODE_SIGNING_CERT_PASSWORD: $(ATOM_MAC_CODE_SIGNING_CERT_PASSWORD) ATOM_MAC_CODE_SIGNING_KEYCHAIN: $(ATOM_MAC_CODE_SIGNING_KEYCHAIN) ATOM_MAC_CODE_SIGNING_KEYCHAIN_PASSWORD: $(ATOM_MAC_CODE_SIGNING_KEYCHAIN_PASSWORD) - + AC_USER: $(AC_USER) + AC_PASSWORD: $(AC_PASSWORD) + - script: | cp $(Build.SourcesDirectory)/out/*.zip $(Build.ArtifactStagingDirectory) displayName: Stage Artifacts From 11b814d736b0a868aa107c49a26cadd71c2ef15d Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 27 Feb 2020 11:48:31 -0500 Subject: [PATCH 16/21] disable notarization to get an artifact --- script/build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/build b/script/build index 8eafe46f7..1c56118f6 100755 --- a/script/build +++ b/script/build @@ -95,7 +95,7 @@ if (!argv.generateApiDocs) { case 'darwin': { if (argv.codeSign) { await codeSignOnMac(packagedAppPath) - await notarizeOnMac(packagedAppPath) + //await notarizeOnMac(packagedAppPath) } else if (argv.testSign) { testSignOnMac(packagedAppPath) } else { From f7ab15b1cd02ccc7946bb1692dd14a7f8ec6dc58 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 27 Feb 2020 12:56:18 -0500 Subject: [PATCH 17/21] Add child entitlements --- script/lib/code-sign-on-mac.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/script/lib/code-sign-on-mac.js b/script/lib/code-sign-on-mac.js index f324ca4bb..58a783dcf 100644 --- a/script/lib/code-sign-on-mac.js +++ b/script/lib/code-sign-on-mac.js @@ -133,10 +133,11 @@ module.exports = async function(packagedAppPath) { await osxSign.signAsync({ app: packagedAppPath, entitlements: macEntitlementsPath, + "entitlements-inherit": macEntitlementsPath, identity: 'Developer ID Application: GitHub', keychain: process.env.ATOM_MAC_CODE_SIGNING_KEYCHAIN, platform: 'darwin', - hardenedRuntime: false + hardenedRuntime: true }); console.info('Application signing complete'); } catch (err) { From f658e69285d4ca2842461923929dbf6ccfe363ce Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 27 Feb 2020 12:59:25 -0500 Subject: [PATCH 18/21] allow build to continue if notarization failed for testing pruposes only --- script/lib/notarize-on-mac.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/lib/notarize-on-mac.js b/script/lib/notarize-on-mac.js index 26f4d6cb7..29f0bd8f0 100644 --- a/script/lib/notarize-on-mac.js +++ b/script/lib/notarize-on-mac.js @@ -13,6 +13,6 @@ module.exports = async function(packagedAppPath) { appleIdPassword: appleIdPassword }); } catch (e) { - throw new Error(e); + //throw new Error(e); } }; From 3a022d6ec15d86216f783db1f880b2f93e6f14bf Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 27 Feb 2020 13:06:23 -0500 Subject: [PATCH 19/21] fix lint --- script/lib/code-sign-on-mac.js | 2 +- script/lib/notarize-on-mac.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/script/lib/code-sign-on-mac.js b/script/lib/code-sign-on-mac.js index 58a783dcf..7c5ec32e9 100644 --- a/script/lib/code-sign-on-mac.js +++ b/script/lib/code-sign-on-mac.js @@ -133,7 +133,7 @@ module.exports = async function(packagedAppPath) { await osxSign.signAsync({ app: packagedAppPath, entitlements: macEntitlementsPath, - "entitlements-inherit": macEntitlementsPath, + 'entitlements-inherit': macEntitlementsPath, identity: 'Developer ID Application: GitHub', keychain: process.env.ATOM_MAC_CODE_SIGNING_KEYCHAIN, platform: 'darwin', diff --git a/script/lib/notarize-on-mac.js b/script/lib/notarize-on-mac.js index 29f0bd8f0..bb9a6eaf7 100644 --- a/script/lib/notarize-on-mac.js +++ b/script/lib/notarize-on-mac.js @@ -13,6 +13,6 @@ module.exports = async function(packagedAppPath) { appleIdPassword: appleIdPassword }); } catch (e) { - //throw new Error(e); + // throw new Error(e); } }; From 3540dae7c00f696973e2a061f0e0dcf59c8dd986 Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 27 Feb 2020 13:38:15 -0500 Subject: [PATCH 20/21] re-enable notarization --- script/build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/build b/script/build index 1c56118f6..8eafe46f7 100755 --- a/script/build +++ b/script/build @@ -95,7 +95,7 @@ if (!argv.generateApiDocs) { case 'darwin': { if (argv.codeSign) { await codeSignOnMac(packagedAppPath) - //await notarizeOnMac(packagedAppPath) + await notarizeOnMac(packagedAppPath) } else if (argv.testSign) { testSignOnMac(packagedAppPath) } else { From 4f231cf0a3cee32353a911fdb788a97972b99dec Mon Sep 17 00:00:00 2001 From: Mazen El-Kashef Date: Thu, 27 Feb 2020 23:15:45 -0500 Subject: [PATCH 21/21] cleaning up --- resources/mac/entitlements.plist | 4 -- script/lib/notarize-on-mac.js | 2 +- script/vsts/nightly-release.yml | 86 ++++++++++++++++---------------- script/vsts/platforms/macos.yml | 15 ++---- 4 files changed, 47 insertions(+), 60 deletions(-) diff --git a/resources/mac/entitlements.plist b/resources/mac/entitlements.plist index a06663bbc..d6b93bc0b 100644 --- a/resources/mac/entitlements.plist +++ b/resources/mac/entitlements.plist @@ -4,9 +4,5 @@ com.apple.security.cs.allow-unsigned-executable-memory - com.apple.security.cs.allow-jit - - com.apple.security.cs.disable-library-validation - diff --git a/script/lib/notarize-on-mac.js b/script/lib/notarize-on-mac.js index bb9a6eaf7..26f4d6cb7 100644 --- a/script/lib/notarize-on-mac.js +++ b/script/lib/notarize-on-mac.js @@ -13,6 +13,6 @@ module.exports = async function(packagedAppPath) { appleIdPassword: appleIdPassword }); } catch (e) { - // throw new Error(e); + throw new Error(e); } }; diff --git a/script/vsts/nightly-release.yml b/script/vsts/nightly-release.yml index 46ef18099..ebbf0819d 100644 --- a/script/vsts/nightly-release.yml +++ b/script/vsts/nightly-release.yml @@ -15,46 +15,46 @@ jobs: - template: platforms/macos.yml - template: platforms/linux.yml -# -# - job: Release -# pool: -# vmImage: vs2015-win2012r2 # needed for Python 2.7 and gyp -# -# dependsOn: -# - GetReleaseVersion -# - Windows -# - Linux -# - macOS_tests -# -# variables: -# ReleaseVersion: $[ dependencies.GetReleaseVersion.outputs['Version.ReleaseVersion'] ] -# -# steps: -# - task: NodeTool@0 -# inputs: -# versionSpec: 10.2.1 -# displayName: Install Node.js 10.2.1 -# -# # This has to be done separately because VSTS inexplicably -# # exits the script block after `npm install` completes. -# - script: | -# cd script\vsts -# npm install -# displayName: npm install -# -# - task: DownloadBuildArtifacts@0 -# inputs: -# itemPattern: '**' -# downloadType: 'specific' -# displayName: Download Release Artifacts -# -# - script: | -# node $(Build.SourcesDirectory)\script\vsts\upload-artifacts.js --create-github-release --assets-path "$(System.ArtifactsDirectory)" --linux-repo-name "atom" -# env: -# GITHUB_TOKEN: $(GITHUB_TOKEN) -# ATOM_RELEASE_VERSION: $(ReleaseVersion) -# ATOM_RELEASES_S3_KEY: $(ATOM_RELEASES_S3_KEY) -# ATOM_RELEASES_S3_SECRET: $(ATOM_RELEASES_S3_SECRET) -# ATOM_RELEASES_S3_BUCKET: $(ATOM_RELEASES_S3_BUCKET) -# PACKAGE_CLOUD_API_KEY: $(PACKAGE_CLOUD_API_KEY) -# displayName: Create Nightly Release + + - job: Release + pool: + vmImage: vs2015-win2012r2 # needed for Python 2.7 and gyp + + dependsOn: + - GetReleaseVersion + - Windows + - Linux + - macOS_tests + + variables: + ReleaseVersion: $[ dependencies.GetReleaseVersion.outputs['Version.ReleaseVersion'] ] + + steps: + - task: NodeTool@0 + inputs: + versionSpec: 10.2.1 + displayName: Install Node.js 10.2.1 + + #This has to be done separately because VSTS inexplicably + #exits the script block after `npm install` completes. + - script: | + cd script\vsts + npm install + displayName: npm install + + - task: DownloadBuildArtifacts@0 + inputs: + itemPattern: '**' + downloadType: 'specific' + displayName: Download Release Artifacts + + - script: | + node $(Build.SourcesDirectory)\script\vsts\upload-artifacts.js --create-github-release --assets-path "$(System.ArtifactsDirectory)" --linux-repo-name "atom" + env: + GITHUB_TOKEN: $(GITHUB_TOKEN) + ATOM_RELEASE_VERSION: $(ReleaseVersion) + ATOM_RELEASES_S3_KEY: $(ATOM_RELEASES_S3_KEY) + ATOM_RELEASES_S3_SECRET: $(ATOM_RELEASES_S3_SECRET) + ATOM_RELEASES_S3_BUCKET: $(ATOM_RELEASES_S3_BUCKET) + PACKAGE_CLOUD_API_KEY: $(PACKAGE_CLOUD_API_KEY) + displayName: Create Nightly Release diff --git a/script/vsts/platforms/macos.yml b/script/vsts/platforms/macos.yml index 056f2064c..6b44659b3 100644 --- a/script/vsts/platforms/macos.yml +++ b/script/vsts/platforms/macos.yml @@ -9,18 +9,9 @@ jobs: IsReleaseBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsReleaseBranch'] ] IsSignedZipBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsSignedZipBranch'] ] pool: - vmImage: macos-10.14 + vmImage: macos-10.13 steps: - - script: sw_vers -productVersion - displayName: Check MacOs version - - - script: gcc --version - displayName: Check XCode version - - - script: xcrun --sdk macosx --show-sdk-path - displayName: Check MacOS SDK version - - task: NodeTool@0 inputs: versionSpec: 10.2.1 @@ -72,7 +63,7 @@ jobs: ATOM_MAC_CODE_SIGNING_KEYCHAIN_PASSWORD: $(ATOM_MAC_CODE_SIGNING_KEYCHAIN_PASSWORD) AC_USER: $(AC_USER) AC_PASSWORD: $(AC_PASSWORD) - + - script: | cp $(Build.SourcesDirectory)/out/*.zip $(Build.ArtifactStagingDirectory) displayName: Stage Artifacts @@ -106,7 +97,7 @@ jobs: dependsOn: macOS_build timeoutInMinutes: 180 pool: - vmImage: macos-10.14 + vmImage: macos-10.13 strategy: maxParallel: 3 matrix: