From 6d0c708a7bffa432e7fd63413464d4d1d58eca27 Mon Sep 17 00:00:00 2001 From: Yuya Tanaka Date: Sun, 20 Mar 2016 14:54:22 +0900 Subject: [PATCH 01/78] :racehorse: wrap loop of setDefaults in transact --- src/config.coffee | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/config.coffee b/src/config.coffee index 66f07516e..595cab280 100644 --- a/src/config.coffee +++ b/src/config.coffee @@ -958,9 +958,10 @@ class Config setDefaults: (keyPath, defaults) -> if defaults? and isPlainObject(defaults) keys = splitKeyPath(keyPath) - for key, childValue of defaults - continue unless defaults.hasOwnProperty(key) - @setDefaults(keys.concat([key]).join('.'), childValue) + @transact => + for key, childValue of defaults + continue unless defaults.hasOwnProperty(key) + @setDefaults(keys.concat([key]).join('.'), childValue) else try defaults = @makeValueConformToSchema(keyPath, defaults) From 3836907ee36219d32f5e12e5df07320b019fed87 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Fri, 3 Jun 2016 19:04:16 -0700 Subject: [PATCH 02/78] :arrow_up: apm@1.11.0 Signed-off-by: Katrina Uychaco --- apm/package.json | 2 +- build/package.json | 2 +- script/bootstrap | 7 +------ 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/apm/package.json b/apm/package.json index d4fcc851a..e547f494f 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.10.0" + "atom-package-manager": "1.11.0" } } diff --git a/build/package.json b/build/package.json index 2f8d88d8a..d0fd27fe1 100644 --- a/build/package.json +++ b/build/package.json @@ -32,7 +32,7 @@ "grunt-standard": "^2.0.0", "legal-eagle": "~0.13.0", "minidump": "~0.9", - "npm": "2.13.3", + "npm": "3.9.5", "rcedit": "~0.3.0", "request": "~2.27.0", "rimraf": "~2.2.2", diff --git a/script/bootstrap b/script/bootstrap index 3b9a35735..8e63de378 100755 --- a/script/bootstrap +++ b/script/bootstrap @@ -75,7 +75,7 @@ function bootstrap() { var buildInstallCommand = initialNpmCommand + npmFlags + 'install'; var buildInstallOptions = {cwd: path.resolve(__dirname, '..', 'build')}; - var apmInstallCommand = npmPath + npmFlags + '--target=0.10.40 ' + 'install'; + var apmInstallCommand = npmPath + npmFlags + '--target=4.4.5 --global-style ' + 'install'; var apmInstallOptions = {cwd: apmInstallPath}; var moduleInstallCommand = apmPath + ' install' + apmFlags; var dedupeApmCommand = apmPath + ' dedupe' + apmFlags; @@ -122,11 +122,6 @@ function bootstrap() { message: 'Installing apm...', options: apmInstallOptions }, - { - command: apmPath + ' clean' + apmFlags, - message: 'Deleting old packages...', - options: moduleInstallOptions - }, { command: moduleInstallCommand, options: moduleInstallOptions From 0ea0f15687b97a668013712d5d25fa006048fc5e Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Fri, 3 Jun 2016 19:20:28 -0700 Subject: [PATCH 03/78] :arrow_up: apm@1.11.1 --- apm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm/package.json b/apm/package.json index e547f494f..335531ce3 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.11.0" + "atom-package-manager": "1.11.1" } } From 96db9a6dfadffef2214e6187ed941670d5ca71be Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Sat, 11 Jun 2016 02:05:58 -0700 Subject: [PATCH 04/78] :arrow_up: ohnogit@0.0.14 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ec051cb21..bf37cc459 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "mocha": "2.5.1", "normalize-package-data": "^2.0.0", "nslog": "^3", - "ohnogit": "0.0.13", + "ohnogit": "0.0.14", "oniguruma": "^5", "pathwatcher": "~6.5", "property-accessors": "^1.1.3", From 65cb6c86c09a97386a677451c6f6d95940dc64f1 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Sat, 11 Jun 2016 02:06:23 -0700 Subject: [PATCH 05/78] :arrow_up: apm@1.11.2 --- apm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm/package.json b/apm/package.json index 335531ce3..afbcdada3 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.11.1" + "atom-package-manager": "1.11.2" } } From e67ebf3639e3c48ce75d0d306bca611319cc8afa Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Mon, 13 Jun 2016 11:02:41 -0700 Subject: [PATCH 06/78] Change up native build options --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 7b6113aa0..05d040dce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,7 @@ branches: env: global: - ATOM_ACCESS_TOKEN=da809a6077bb1b0aa7c5623f7b2d5f1fec2faae4 + - C_INCLUDE_PATH=/usr/include/$(gcc -print-multiarch) compiler: clang @@ -51,3 +52,4 @@ addons: - git - libgnome-keyring-dev - fakeroot + - gcc-multilib From 496539208bb0a434a2a7e51394f5c58ba8786ce9 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 14 Jun 2016 13:40:40 -0700 Subject: [PATCH 07/78] Only read actual package.json files from disk in compile-packages-slug task --- build/tasks/compile-packages-slug-task.coffee | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/tasks/compile-packages-slug-task.coffee b/build/tasks/compile-packages-slug-task.coffee index 7317f158a..f6f297bec 100644 --- a/build/tasks/compile-packages-slug-task.coffee +++ b/build/tasks/compile-packages-slug-task.coffee @@ -40,6 +40,8 @@ module.exports = (grunt) -> continue if path.basename(moduleDirectory) is '.bin' metadataPath = path.join(moduleDirectory, 'package.json') + continue unless fs.existsSync(metadataPath) + metadata = grunt.file.readJSON(metadataPath) continue unless metadata?.engines?.atom? From 3b849241593f9cac3470ecf320afe1169818886b Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 14 Jun 2016 13:50:44 -0700 Subject: [PATCH 08/78] :arrow_up: Node.js@4.4.5 on Appveyor --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 51e074a4c..9a396f8cf 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -18,7 +18,7 @@ environment: secure: Q7vxmSq0bVCLTTRPzXw5ZhPTe7XYhWxX0tQV6neEkddTH6pZkOYNmSCG6VnMX2f+ matrix: - - NODE_VERSION: 0.10.35 + - NODE_VERSION: 4.4.5 install: - SET PATH=C:\Program Files\Atom\resources\cli;%PATH% From 3c717626d776e18b4ed878b18d15e2178fa8a903 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 14 Jun 2016 14:24:27 -0700 Subject: [PATCH 09/78] :arrow_up: apm@1.11.3 --- apm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm/package.json b/apm/package.json index afbcdada3..614438ec7 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.11.2" + "atom-package-manager": "1.11.3" } } From 4fd463a2fbd10a4eef4d538436d41b4293414a3f Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 14 Jun 2016 14:38:51 -0700 Subject: [PATCH 10/78] Don't suppress build output when ATOM_NOISY_BUILD is set --- script/bootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/bootstrap b/script/bootstrap index 8e63de378..6fcf8fef0 100755 --- a/script/bootstrap +++ b/script/bootstrap @@ -97,7 +97,7 @@ function bootstrap() { } var moduleInstallOptions = {env: moduleInstallEnv}; - if (process.argv.indexOf('--no-quiet') === -1) { + if (process.argv.indexOf('--no-quiet') === -1 || process.env.ATOM_NOISY_BUILD) { buildInstallCommand += ' --loglevel error'; apmInstallCommand += ' --loglevel error'; moduleInstallCommand += ' --loglevel error'; From acb0ae9225e75f8083b0e76a7c7984e434392600 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 14 Jun 2016 14:39:12 -0700 Subject: [PATCH 11/78] Set ATOM_NOISY_BUILD on Appveyor --- appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/appveyor.yml b/appveyor.yml index 9a396f8cf..ef65771f2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -16,6 +16,7 @@ environment: ATOM_DEV_RESOURCE_PATH: c:\projects\atom ATOM_ACCESS_TOKEN: secure: Q7vxmSq0bVCLTTRPzXw5ZhPTe7XYhWxX0tQV6neEkddTH6pZkOYNmSCG6VnMX2f+ + ATOM_NOISY_BUILD: 1 matrix: - NODE_VERSION: 4.4.5 From dc659ff9b3aa9119e165dc13063e04d97a794806 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 14 Jun 2016 15:17:05 -0700 Subject: [PATCH 12/78] :arrow_up: apm@1.11.4 --- apm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm/package.json b/apm/package.json index 614438ec7..3bf1fe769 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.11.3" + "atom-package-manager": "1.11.4" } } From fa7d1d66875421372bcceb0f1a07e818a4af5e72 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 14 Jun 2016 15:31:59 -0700 Subject: [PATCH 13/78] Use g++ 4.8 on travis --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 05d040dce..d28157b37 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ branches: env: global: - ATOM_ACCESS_TOKEN=da809a6077bb1b0aa7c5623f7b2d5f1fec2faae4 - - C_INCLUDE_PATH=/usr/include/$(gcc -print-multiarch) + - CXX=g++-4.8 compiler: clang @@ -47,9 +47,11 @@ notifications: addons: apt: + sources: + - ubuntu-toolchain-r-test packages: - build-essential - git - libgnome-keyring-dev - fakeroot - - gcc-multilib + - g++-4.8 From 6af247e601dd9c180fa9c6e3583b4c39e5e5fb8e Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 14 Jun 2016 16:53:24 -0700 Subject: [PATCH 14/78] Only test on Node 4 on Travis --- .travis.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index d28157b37..6bd3c78cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,14 +14,12 @@ compiler: clang matrix: include: - - os: linux - env: NODE_VERSION=0.12 - os: linux env: NODE_VERSION=4 - os: osx - env: ATOM_SPECS_TASK=core NODE_VERSION=0.12 + env: ATOM_SPECS_TASK=core NODE_VERSION=4 - os: osx - env: ATOM_SPECS_TASK=packages NODE_VERSION=0.12 + env: ATOM_SPECS_TASK=packages NODE_VERSION=4 sudo: false From c6fbae521b4d5262808fa08131cda66a98d9e427 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 14 Jun 2016 17:59:29 -0700 Subject: [PATCH 15/78] Use --delete-prefix with nvm use --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6bd3c78cb..563f8168b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ install: - git clone https://github.com/creationix/nvm.git /tmp/.nvm - source /tmp/.nvm/nvm.sh - nvm install $NODE_VERSION - - nvm use $NODE_VERSION + - nvm use --delete-prefix $NODE_VERSION script: script/cibuild From 048c1192651c4ee421b711aa87461a27b027a1c2 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 28 Jun 2016 16:03:43 -0700 Subject: [PATCH 16/78] Don't use g++-4.8 --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 563f8168b..cf0c07186 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,6 @@ branches: env: global: - ATOM_ACCESS_TOKEN=da809a6077bb1b0aa7c5623f7b2d5f1fec2faae4 - - CXX=g++-4.8 compiler: clang @@ -52,4 +51,3 @@ addons: - git - libgnome-keyring-dev - fakeroot - - g++-4.8 From 4558833ef6869030e56ee3b009a3220a518a5f36 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Wed, 29 Jun 2016 13:31:36 -0700 Subject: [PATCH 17/78] Include gcc-multilib on travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index cf0c07186..58f82c013 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,3 +51,4 @@ addons: - git - libgnome-keyring-dev - fakeroot + - gcc-multilib From c8263bddb99c1fca8146663945d40a81998f0035 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 5 Jul 2016 09:49:42 -0700 Subject: [PATCH 18/78] Use newer OS X on Travis --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 58f82c013..e894731ea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,8 @@ env: global: - ATOM_ACCESS_TOKEN=da809a6077bb1b0aa7c5623f7b2d5f1fec2faae4 +osx_image: xcode7.3 + compiler: clang matrix: From 35aee0b8e49f3e85442847176076cb248d0bedf8 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 14 Jul 2016 17:01:26 +0200 Subject: [PATCH 19/78] Use nvm on Linux --- script/cibuild-atom-linux | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/script/cibuild-atom-linux b/script/cibuild-atom-linux index 2c3395608..b04d73f62 100755 --- a/script/cibuild-atom-linux +++ b/script/cibuild-atom-linux @@ -7,10 +7,10 @@ export BUILD_ATOM_RELEASES_S3_KEY=$BUILD_ATOM_LINUX_RELEASES_S3_KEY export BUILD_ATOM_RELEASES_S3_SECRET=$BUILD_ATOM_LINUX_RELEASES_S3_SECRET export BUILD_ATOM_RELEASES_S3_BUCKET=$BUILD_ATOM_LINUX_RELEASES_S3_BUCKET -if [ -d /usr/local/share/nodenv ]; then - export NODENV_ROOT=/usr/local/share/nodenv - export PATH=/usr/local/share/nodenv/bin:/usr/local/share/nodenv/shims:$PATH - export NODENV_VERSION="v0.10.21" -fi +git clone https://github.com/creationix/nvm.git /tmp/.nvm +source /tmp/.nvm/nvm.sh +nvm install 4.4.7 +nvm use 4.4.7 +npm install -g npm script/cibuild From e3743db892e964a49352c881167cb16f38201b27 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 14 Jul 2016 17:25:58 +0200 Subject: [PATCH 20/78] Use node 4 and npm 3 on rpm --- Dockerfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index d792c30c5..37339ccfd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,11 +12,13 @@ RUN yum install -y \ glibc-devel \ git-core \ libgnome-keyring-devel \ - rpmdevtools \ - nodejs \ - npm + rpmdevtools -RUN npm install -g npm@1.4.28 --loglevel error +RUN git clone https://github.com/creationix/nvm.git /tmp/.nvm +RUN source /tmp/.nvm/nvm.sh +RUN nvm install 4.4.7 +RUN nvm use 4.4.7 +RUN npm install -g npm --loglevel error ADD . /atom WORKDIR /atom From e160c725fd2d24b23f18a358340b20df9a816352 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 14 Jul 2016 17:29:42 +0200 Subject: [PATCH 21/78] Use curl for rpm --- Dockerfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 37339ccfd..15f8e2898 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,8 @@ # Base docker image FROM fedora:21 +RUN curl --silent --location https://rpm.nodesource.com/setup_4.x | bash - + # Install dependencies RUN yum install -y \ make \ @@ -12,12 +14,10 @@ RUN yum install -y \ glibc-devel \ git-core \ libgnome-keyring-devel \ - rpmdevtools + rpmdevtools \ + nodejs \ + npm -RUN git clone https://github.com/creationix/nvm.git /tmp/.nvm -RUN source /tmp/.nvm/nvm.sh -RUN nvm install 4.4.7 -RUN nvm use 4.4.7 RUN npm install -g npm --loglevel error ADD . /atom From 4092ff1aea60c13c394f10ed30f594e307644c77 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 14 Jul 2016 17:47:45 +0200 Subject: [PATCH 22/78] Use another docker image for rpm --- Dockerfile | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 15f8e2898..8f5483b33 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,9 +2,7 @@ # DESCRIPTION: Image to build Atom and create a .rpm file # Base docker image -FROM fedora:21 - -RUN curl --silent --location https://rpm.nodesource.com/setup_4.x | bash - +FROM nodesource/fedora21:4.4.7 # Install dependencies RUN yum install -y \ @@ -14,9 +12,7 @@ RUN yum install -y \ glibc-devel \ git-core \ libgnome-keyring-devel \ - rpmdevtools \ - nodejs \ - npm + rpmdevtools RUN npm install -g npm --loglevel error From 14b74937e12f436ea234c2508b4000ecc256fa7b Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 14 Jul 2016 17:50:59 +0200 Subject: [PATCH 23/78] Use 4.2.6 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8f5483b33..22a101743 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # DESCRIPTION: Image to build Atom and create a .rpm file # Base docker image -FROM nodesource/fedora21:4.4.7 +FROM nodesource/fedora21:4.2.6 # Install dependencies RUN yum install -y \ From b674169becad25067dfd80d55eb61100a4a6e8aa Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 14 Jul 2016 18:07:28 +0200 Subject: [PATCH 24/78] Remove previously installed nvm --- script/cibuild-atom-linux | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/script/cibuild-atom-linux b/script/cibuild-atom-linux index b04d73f62..fe79c19fe 100755 --- a/script/cibuild-atom-linux +++ b/script/cibuild-atom-linux @@ -7,8 +7,9 @@ export BUILD_ATOM_RELEASES_S3_KEY=$BUILD_ATOM_LINUX_RELEASES_S3_KEY export BUILD_ATOM_RELEASES_S3_SECRET=$BUILD_ATOM_LINUX_RELEASES_S3_SECRET export BUILD_ATOM_RELEASES_S3_BUCKET=$BUILD_ATOM_LINUX_RELEASES_S3_BUCKET -git clone https://github.com/creationix/nvm.git /tmp/.nvm -source /tmp/.nvm/nvm.sh +rm -rf /tmp/.atom-nvm +git clone https://github.com/creationix/nvm.git /tmp/.atom-nvm +source /tmp/.atom-nvm/nvm.sh nvm install 4.4.7 nvm use 4.4.7 npm install -g npm From 7a6b7fea062bda17f29789e4c9a7d76348b60a46 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Sat, 16 Jul 2016 20:01:54 +0200 Subject: [PATCH 25/78] :arrow_up: apm 1.12.0-beta0 --- apm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm/package.json b/apm/package.json index 3bf1fe769..d8896a2dc 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.11.4" + "atom-package-manager": "1.12.0-beta0" } } From e9623b30b8df945b2aa4913cb0e2a7c55585c0a2 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Sat, 16 Jul 2016 20:26:58 +0200 Subject: [PATCH 26/78] Include apm version in the fingerprint --- script/utils/fingerprint.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/script/utils/fingerprint.js b/script/utils/fingerprint.js index c419ba4fd..e1f6276d2 100644 --- a/script/utils/fingerprint.js +++ b/script/utils/fingerprint.js @@ -6,12 +6,14 @@ var fingerprintPath = path.resolve(__dirname, '..', '..', 'node_modules', '.atom module.exports = { fingerprint: function () { - var packageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'package.json')) + var atomPackageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'package.json')) + var apmPackageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'apm', 'package.json')) //Include the electron minor version in the fingerprint since that changing requires a re-install - var electronVersion = JSON.parse(packageJson).electronVersion.replace(/\.\d+$/, '') + var electronVersion = JSON.parse(atomPackageJson).electronVersion.replace(/\.\d+$/, '') + var apmVersion = JSON.parse(apmPackageJson).dependencies['atom-package-manager'] - var body = electronVersion + process.platform + process.version + var body = electronVersion + apmVersion + process.platform + process.version return crypto.createHash('sha1').update(body).digest('hex') }, From 59a8c0544b1484f23464e3b03702eb9e712bcebd Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Sat, 16 Jul 2016 20:40:07 +0200 Subject: [PATCH 27/78] Set a higher timeout for Travis caching phase --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index e894731ea..ec039e2ee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,6 +33,7 @@ install: script: script/cibuild cache: + timeout: 1000 directories: - node_modules - build/node_modules From eb7d695e60c75eab1a241521bb7da60ba2a22db6 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Mon, 18 Jul 2016 15:56:50 +0200 Subject: [PATCH 28/78] Don't run specs to avoid timing out the build ...this needs to be re-enabled on the next commit. --- build/Gruntfile.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index b248eda2e..41f22376f 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -288,7 +288,7 @@ module.exports = (grunt) -> ciTasks.push('set-version', 'check-licenses', 'lint', 'generate-asar') ciTasks.push('mkdeb') if process.platform is 'linux' ciTasks.push('mktar') if process.platform is 'linux' - ciTasks.push('test') if process.platform is 'darwin' + # ciTasks.push('test') if process.platform is 'darwin' ciTasks.push('codesign:app') if process.platform is 'darwin' and not process.env.CI if process.platform is 'win32' ciTasks.push('codesign:exe') if process.env.JANKY_SIGNTOOL From 7a22c5040335db8b6c92d315a39a3273ddb1816b Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Mon, 18 Jul 2016 16:51:09 +0200 Subject: [PATCH 29/78] Run tests --- build/Gruntfile.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index 41f22376f..b248eda2e 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -288,7 +288,7 @@ module.exports = (grunt) -> ciTasks.push('set-version', 'check-licenses', 'lint', 'generate-asar') ciTasks.push('mkdeb') if process.platform is 'linux' ciTasks.push('mktar') if process.platform is 'linux' - # ciTasks.push('test') if process.platform is 'darwin' + ciTasks.push('test') if process.platform is 'darwin' ciTasks.push('codesign:app') if process.platform is 'darwin' and not process.env.CI if process.platform is 'win32' ciTasks.push('codesign:exe') if process.env.JANKY_SIGNTOOL From 3b372e270ccdeabda4dfac68ffe1c9d95f189fdc Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Mon, 18 Jul 2016 17:48:45 +0200 Subject: [PATCH 30/78] Install npm 3 on Travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index ec039e2ee..13a74c608 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,7 @@ install: - source /tmp/.nvm/nvm.sh - nvm install $NODE_VERSION - nvm use --delete-prefix $NODE_VERSION + - npm install -g npm script: script/cibuild From 26f48001928f83b1fef598eaf68ae0479f25b4bc Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 19 Jul 2016 14:29:03 +0200 Subject: [PATCH 31/78] Try not caching node_modules --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 13a74c608..31cc8016c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,10 +36,8 @@ script: script/cibuild cache: timeout: 1000 directories: - - node_modules - build/node_modules - apm/node_modules - - $HOME/.atom/compile-cache notifications: email: From 5c1a433e2ae40b2c5275a6aca04bb8aba67d243d Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 19 Jul 2016 14:56:27 +0200 Subject: [PATCH 32/78] Put back node_modules in the cache --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 31cc8016c..179abece8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,13 +29,13 @@ install: - source /tmp/.nvm/nvm.sh - nvm install $NODE_VERSION - nvm use --delete-prefix $NODE_VERSION - - npm install -g npm script: script/cibuild cache: timeout: 1000 directories: + - node_modules - build/node_modules - apm/node_modules From 25e8d3b1cf875c9bbe244755b8ccc96e14adcc52 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 19 Jul 2016 14:58:58 +0200 Subject: [PATCH 33/78] Add electron to the cache --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 179abece8..3bdd77f4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,8 +36,9 @@ cache: timeout: 1000 directories: - node_modules - - build/node_modules - apm/node_modules + - build/node_modules + - electron notifications: email: From 207131836d769e75b7ba6e49b240cc51306952f6 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 19 Jul 2016 16:04:07 +0200 Subject: [PATCH 34/78] Cache also .atom/.node-gyp/.atom --- .travis.yml | 1 + build/Gruntfile.coffee | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3bdd77f4e..27b6ad1f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,6 +35,7 @@ script: script/cibuild cache: timeout: 1000 directories: + - $HOME/.atom/.node-gyp/.atom - node_modules - apm/node_modules - build/node_modules diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index b248eda2e..41f22376f 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -288,7 +288,7 @@ module.exports = (grunt) -> ciTasks.push('set-version', 'check-licenses', 'lint', 'generate-asar') ciTasks.push('mkdeb') if process.platform is 'linux' ciTasks.push('mktar') if process.platform is 'linux' - ciTasks.push('test') if process.platform is 'darwin' + # ciTasks.push('test') if process.platform is 'darwin' ciTasks.push('codesign:app') if process.platform is 'darwin' and not process.env.CI if process.platform is 'win32' ciTasks.push('codesign:exe') if process.env.JANKY_SIGNTOOL From 9b4f46cab102ca6345e7d31f5dcb85a022b09111 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 19 Jul 2016 16:56:26 +0200 Subject: [PATCH 35/78] Add back testing to Gruntfile --- build/Gruntfile.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index 41f22376f..b248eda2e 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -288,7 +288,7 @@ module.exports = (grunt) -> ciTasks.push('set-version', 'check-licenses', 'lint', 'generate-asar') ciTasks.push('mkdeb') if process.platform is 'linux' ciTasks.push('mktar') if process.platform is 'linux' - # ciTasks.push('test') if process.platform is 'darwin' + ciTasks.push('test') if process.platform is 'darwin' ciTasks.push('codesign:app') if process.platform is 'darwin' and not process.env.CI if process.platform is 'win32' ciTasks.push('codesign:exe') if process.env.JANKY_SIGNTOOL From b3d3b52d3de21397dd453f08fd0e07f1a9b4f6ba Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 10:50:32 +0200 Subject: [PATCH 36/78] Disable specs (again) to allow caching --- build/Gruntfile.coffee | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index b248eda2e..ad445a6ce 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -282,21 +282,21 @@ module.exports = (grunt) -> ciTasks.push('output-disk-space') unless process.env.CI ciTasks.push('download-electron') ciTasks.push('download-electron-chromedriver') - ciTasks.push('build') + # ciTasks.push('build') ciTasks.push('fingerprint') - ciTasks.push('dump-symbols') if process.platform is 'darwin' - ciTasks.push('set-version', 'check-licenses', 'lint', 'generate-asar') - ciTasks.push('mkdeb') if process.platform is 'linux' - ciTasks.push('mktar') if process.platform is 'linux' - ciTasks.push('test') if process.platform is 'darwin' - ciTasks.push('codesign:app') if process.platform is 'darwin' and not process.env.CI - if process.platform is 'win32' - ciTasks.push('codesign:exe') if process.env.JANKY_SIGNTOOL - ciTasks.push('codesign:installer-deferred') if not process.env.JANKY_SIGNTOOL - ciTasks.push('create-windows-installer:installer') - ciTasks.push('codesign:installer') if process.env.JANKY_SIGNTOOL - ciTasks.push('codesign:cleanup') - ciTasks.push('publish-build') unless process.env.CI + # ciTasks.push('dump-symbols') if process.platform is 'darwin' + # ciTasks.push('set-version', 'check-licenses', 'lint', 'generate-asar') + # ciTasks.push('mkdeb') if process.platform is 'linux' + # ciTasks.push('mktar') if process.platform is 'linux' + # ciTasks.push('test') if process.platform is 'darwin' + # ciTasks.push('codesign:app') if process.platform is 'darwin' and not process.env.CI + # if process.platform is 'win32' + # ciTasks.push('codesign:exe') if process.env.JANKY_SIGNTOOL + # ciTasks.push('codesign:installer-deferred') if not process.env.JANKY_SIGNTOOL + # ciTasks.push('create-windows-installer:installer') + # ciTasks.push('codesign:installer') if process.env.JANKY_SIGNTOOL + # ciTasks.push('codesign:cleanup') + # ciTasks.push('publish-build') unless process.env.CI grunt.registerTask('ci', ciTasks) From d2cb36e3a09a5ef7e6c0c8384b5ca3e28285af52 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 12:26:02 +0200 Subject: [PATCH 37/78] :arrow_up: apm 1.12.1 --- .travis.yml | 1 - apm/package.json | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 27b6ad1f3..3bdd77f4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,7 +35,6 @@ script: script/cibuild cache: timeout: 1000 directories: - - $HOME/.atom/.node-gyp/.atom - node_modules - apm/node_modules - build/node_modules diff --git a/apm/package.json b/apm/package.json index d8896a2dc..69aeaa413 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.12.0-beta0" + "atom-package-manager": "1.12.1" } } From be134ce3c95d54ddc2e60a40a88f340be924100f Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 13:01:00 +0200 Subject: [PATCH 38/78] Revert "Disable specs (again) to allow caching" This reverts commit b3d3b52d3de21397dd453f08fd0e07f1a9b4f6ba. --- build/Gruntfile.coffee | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index ad445a6ce..b248eda2e 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -282,21 +282,21 @@ module.exports = (grunt) -> ciTasks.push('output-disk-space') unless process.env.CI ciTasks.push('download-electron') ciTasks.push('download-electron-chromedriver') - # ciTasks.push('build') + ciTasks.push('build') ciTasks.push('fingerprint') - # ciTasks.push('dump-symbols') if process.platform is 'darwin' - # ciTasks.push('set-version', 'check-licenses', 'lint', 'generate-asar') - # ciTasks.push('mkdeb') if process.platform is 'linux' - # ciTasks.push('mktar') if process.platform is 'linux' - # ciTasks.push('test') if process.platform is 'darwin' - # ciTasks.push('codesign:app') if process.platform is 'darwin' and not process.env.CI - # if process.platform is 'win32' - # ciTasks.push('codesign:exe') if process.env.JANKY_SIGNTOOL - # ciTasks.push('codesign:installer-deferred') if not process.env.JANKY_SIGNTOOL - # ciTasks.push('create-windows-installer:installer') - # ciTasks.push('codesign:installer') if process.env.JANKY_SIGNTOOL - # ciTasks.push('codesign:cleanup') - # ciTasks.push('publish-build') unless process.env.CI + ciTasks.push('dump-symbols') if process.platform is 'darwin' + ciTasks.push('set-version', 'check-licenses', 'lint', 'generate-asar') + ciTasks.push('mkdeb') if process.platform is 'linux' + ciTasks.push('mktar') if process.platform is 'linux' + ciTasks.push('test') if process.platform is 'darwin' + ciTasks.push('codesign:app') if process.platform is 'darwin' and not process.env.CI + if process.platform is 'win32' + ciTasks.push('codesign:exe') if process.env.JANKY_SIGNTOOL + ciTasks.push('codesign:installer-deferred') if not process.env.JANKY_SIGNTOOL + ciTasks.push('create-windows-installer:installer') + ciTasks.push('codesign:installer') if process.env.JANKY_SIGNTOOL + ciTasks.push('codesign:cleanup') + ciTasks.push('publish-build') unless process.env.CI grunt.registerTask('ci', ciTasks) From 8d337789001b79b21a4857cfedfccc786a2e22e2 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 13:02:43 +0200 Subject: [PATCH 39/78] Use npm 3.10.5 in build/package.json too --- build/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/package.json b/build/package.json index d0fd27fe1..533f49417 100644 --- a/build/package.json +++ b/build/package.json @@ -32,7 +32,7 @@ "grunt-standard": "^2.0.0", "legal-eagle": "~0.13.0", "minidump": "~0.9", - "npm": "3.9.5", + "npm": "3.10.5", "rcedit": "~0.3.0", "request": "~2.27.0", "rimraf": "~2.2.2", From 3664c8c2d7d9b9d54c8dc2fe4d9ef930e0a3f62c Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 16:04:07 +0200 Subject: [PATCH 40/78] Don't cache electron --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3bdd77f4e..9aa45d0eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,6 @@ cache: - node_modules - apm/node_modules - build/node_modules - - electron notifications: email: From 92483d7369eb2f25f09168f72aab6df9c5329206 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 18:00:13 +0200 Subject: [PATCH 41/78] Remove the higher timeout --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9aa45d0eb..b17253332 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,6 @@ install: script: script/cibuild cache: - timeout: 1000 directories: - node_modules - apm/node_modules From e2c7f0dab3360cec4862f4eaef3ed6c6314ddaac Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 21 Jul 2016 13:58:33 +0200 Subject: [PATCH 42/78] :arrow_up: apm 1.12.2 --- apm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm/package.json b/apm/package.json index 69aeaa413..3a986dffc 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.12.1" + "atom-package-manager": "1.12.2" } } From 18271ec8cc601b6abcf5d7efdbd34680ba955d22 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Fri, 22 Jul 2016 18:04:05 +0200 Subject: [PATCH 43/78] :arrow_up: apm 1.12.3 --- apm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm/package.json b/apm/package.json index 3a986dffc..18f313c16 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.12.2" + "atom-package-manager": "1.12.3" } } From 2a369aa5673ea346f52a776253a4e80cf731d767 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 21 Jul 2016 17:13:18 -0600 Subject: [PATCH 44/78] =?UTF-8?q?Don=E2=80=99t=20clobber=20S3=20creds=20on?= =?UTF-8?q?=20Windows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/cibuild | 4 ---- 1 file changed, 4 deletions(-) diff --git a/script/cibuild b/script/cibuild index 627c2291a..6f16ac5cd 100755 --- a/script/cibuild +++ b/script/cibuild @@ -40,10 +40,6 @@ function setEnvironmentVariables() { process.env.CC = 'clang'; process.env.CXX = 'clang++'; process.env.npm_config_clang = '1'; - } else if (process.platform === 'win32') { - process.env.BUILD_ATOM_RELEASES_S3_KEY = process.env.BUILD_ATOM_WIN_RELEASES_S3_KEY - process.env.BUILD_ATOM_RELEASES_S3_SECRET = process.env.BUILD_ATOM_WIN_RELEASES_S3_SECRET - process.env.BUILD_ATOM_RELEASES_S3_BUCKET = process.env.BUILD_ATOM_WIN_RELEASES_S3_BUCKET } } From f7a4b8f33f931ab10909a2429c9a0876b637e11f Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 21 Jul 2016 17:16:58 -0600 Subject: [PATCH 45/78] Build more than master on appveyor --- appveyor.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 51e074a4c..56335e8bd 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,9 +1,5 @@ version: "{build}" -branches: - only: - - master - skip_tags: true clone_folder: c:\projects\atom clone_depth: 10 From c65d45ea62426a63927913a92bb811542ba39e23 Mon Sep 17 00:00:00 2001 From: Damien Guard Date: Thu, 21 Jul 2016 16:59:49 -0700 Subject: [PATCH 46/78] Add logging to publish-build-task --- build/tasks/publish-build-task.coffee | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/build/tasks/publish-build-task.coffee b/build/tasks/publish-build-task.coffee index 27f36aaeb..1d5322d61 100644 --- a/build/tasks/publish-build-task.coffee +++ b/build/tasks/publish-build-task.coffee @@ -119,6 +119,7 @@ logError = (message, error, details) -> zipAssets = (buildDir, assets, callback) -> zip = (directory, sourcePath, assetName, callback) -> + grunt.log.ok("Zipping #{sourcePath} into #{assetName}") if process.platform is 'win32' sevenZipPath = if process.env.JANKY_SHA1? then "C:/psmodules/" else "" zipCommand = "#{sevenZipPath}7z.exe a -r \"#{assetName}\" \"#{sourcePath}\"" @@ -136,6 +137,7 @@ zipAssets = (buildDir, assets, callback) -> async.parallel(tasks, callback) getAtomDraftRelease = (isPrerelease, branchName, callback) -> + grunt.log.ok("Obtaining GitHub draft release for #{branchName}") atomRepo = new GitHub({repo: repo, token}) atomRepo.getReleases {prerelease: isPrerelease}, (error, releases=[]) -> if error? @@ -154,12 +156,14 @@ getAtomDraftRelease = (isPrerelease, branchName, callback) -> logError('Fetching draft release assets failed', error, assets) callback(error ? new Error(response.statusCode)) else + grunt.log.ok("Using GitHub draft release #{firstDraft.name}") firstDraft.assets = assets callback(null, firstDraft) else createAtomDraftRelease(isPrerelease, branchName, callback) createAtomDraftRelease = (isPrerelease, branchName, callback) -> + grunt.log.ok("Creating GitHub draft release #{branchName}") {version} = require('../../package.json') options = uri: "https://api.github.com/repos/#{repo}/releases" @@ -185,6 +189,7 @@ createAtomDraftRelease = (isPrerelease, branchName, callback) -> callback(null, body) deleteRelease = (release) -> + grunt.log.ok("Deleting GitHub release #{release}") options = uri: release.url method: 'DELETE' @@ -195,6 +200,7 @@ deleteRelease = (release) -> logError('Deleting release failed', error, body) deleteExistingAssets = (release, assetNames, callback) -> + grunt.log.ok("Deleting #{assetNames.join(',')} from GitHub release #{release}") [callback, assetNames] = [assetNames, callback] if not callback? deleteAsset = (url, callback) -> @@ -216,6 +222,7 @@ deleteExistingAssets = (release, assetNames, callback) -> uploadAssets = (release, buildDir, assets, callback) -> uploadToReleases = (release, assetName, assetPath, callback) -> + grunt.log.ok("Uploading #{assetName} to GitHub release #{release}") options = uri: release.upload_url.replace(/\{.*$/, "?name=#{assetName}") method: 'POST' @@ -248,6 +255,7 @@ uploadAssets = (release, buildDir, assets, callback) -> s3 = new AWS.S3 s3Info key = "releases/#{release.tag_name}/#{assetName}" + grunt.log.ok("Uploading to S3 #{key}") uploadParams = Bucket: s3Bucket ACL: 'public-read' From e60b5f8542f1cc55040cd122518ed2810d5993bf Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 22 Jul 2016 09:53:58 -0600 Subject: [PATCH 47/78] Cache node_modules on AppVeyor Signed-off-by: Antonio Scandurra --- appveyor.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 56335e8bd..6248db85e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -33,6 +33,9 @@ artifacts: name: AtomSetup.msi cache: + - '%APPVEYOR_BUILD_FOLDER%\build\node_modules' + - '%APPVEYOR_BUILD_FOLDER%\apm\node_modules' + - '%APPVEYOR_BUILD_FOLDER%\node_modules' - '%USERPROFILE%\.atom\.apm' - '%USERPROFILE%\.atom\.node-gyp\.atom' - '%USERPROFILE%\.atom\.npm' From 6afb4da0cf0efe9814418e0e5bbbf65d797d2a14 Mon Sep 17 00:00:00 2001 From: Damien Guard Date: Fri, 22 Jul 2016 09:32:41 -0700 Subject: [PATCH 48/78] Add repo logging to publish task --- build/tasks/publish-build-task.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/build/tasks/publish-build-task.coffee b/build/tasks/publish-build-task.coffee index 1d5322d61..e4b372b36 100644 --- a/build/tasks/publish-build-task.coffee +++ b/build/tasks/publish-build-task.coffee @@ -32,6 +32,7 @@ module.exports = (gruntObject) -> cp path.join(docsOutputDir, 'api.json'), path.join(buildDir, 'atom-api.json') grunt.registerTask 'upload-assets', 'Upload the assets to a GitHub release', -> + grunt.log.ok("Starting upload-assets to #{repo} repo") releaseBranch = grunt.config.get('atom.releaseBranch') isPrerelease = grunt.config.get('atom.channel') is 'beta' return unless releaseBranch? From 24feb64a52b0e32cd5e220ca480f6e34be590cfd Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 22 Jul 2016 16:01:07 -0600 Subject: [PATCH 49/78] Log release.tag_name correctly --- build/tasks/publish-build-task.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/tasks/publish-build-task.coffee b/build/tasks/publish-build-task.coffee index e4b372b36..1cc90eae4 100644 --- a/build/tasks/publish-build-task.coffee +++ b/build/tasks/publish-build-task.coffee @@ -190,7 +190,7 @@ createAtomDraftRelease = (isPrerelease, branchName, callback) -> callback(null, body) deleteRelease = (release) -> - grunt.log.ok("Deleting GitHub release #{release}") + grunt.log.ok("Deleting GitHub release #{release.tag_name}") options = uri: release.url method: 'DELETE' @@ -201,7 +201,7 @@ deleteRelease = (release) -> logError('Deleting release failed', error, body) deleteExistingAssets = (release, assetNames, callback) -> - grunt.log.ok("Deleting #{assetNames.join(',')} from GitHub release #{release}") + grunt.log.ok("Deleting #{assetNames.join(',')} from GitHub release #{release.tag_name}") [callback, assetNames] = [assetNames, callback] if not callback? deleteAsset = (url, callback) -> @@ -223,7 +223,7 @@ deleteExistingAssets = (release, assetNames, callback) -> uploadAssets = (release, buildDir, assets, callback) -> uploadToReleases = (release, assetName, assetPath, callback) -> - grunt.log.ok("Uploading #{assetName} to GitHub release #{release}") + grunt.log.ok("Uploading #{assetName} to GitHub release #{release.tag_name}") options = uri: release.upload_url.replace(/\{.*$/, "?name=#{assetName}") method: 'POST' From 1c3bd102cac22910992ff3da8e5a958734838166 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 22 Jul 2016 16:04:53 -0600 Subject: [PATCH 50/78] Clarify logging when upload-assets is skipped on non-release branches --- build/tasks/publish-build-task.coffee | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/build/tasks/publish-build-task.coffee b/build/tasks/publish-build-task.coffee index 1cc90eae4..ad31c0d8e 100644 --- a/build/tasks/publish-build-task.coffee +++ b/build/tasks/publish-build-task.coffee @@ -32,10 +32,14 @@ module.exports = (gruntObject) -> cp path.join(docsOutputDir, 'api.json'), path.join(buildDir, 'atom-api.json') grunt.registerTask 'upload-assets', 'Upload the assets to a GitHub release', -> - grunt.log.ok("Starting upload-assets to #{repo} repo") releaseBranch = grunt.config.get('atom.releaseBranch') isPrerelease = grunt.config.get('atom.channel') is 'beta' - return unless releaseBranch? + + unless releaseBranch? + grunt.log.ok("Skipping upload-assets to #{repo} repo because this is not a release branch") + return + + grunt.log.ok("Starting upload-assets to #{repo} repo") doneCallback = @async() startTime = Date.now() From 71e7d3291649387a32d421dbfbdbaf76af838b76 Mon Sep 17 00:00:00 2001 From: Yuya Tanaka Date: Mon, 25 Jul 2016 07:49:04 +0900 Subject: [PATCH 51/78] :racehorse: Transact setSchema config changes --- src/config.coffee | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/config.coffee b/src/config.coffee index 27ea1edef..c334cc1ec 100644 --- a/src/config.coffee +++ b/src/config.coffee @@ -786,9 +786,10 @@ class Config rootSchema = properties[key] Object.assign rootSchema, schema - @setDefaults(keyPath, @extractDefaultsFromSchema(schema)) - @setScopedDefaultsFromSchema(keyPath, schema) - @resetSettingsForSchemaChange() + @transact => + @setDefaults(keyPath, @extractDefaultsFromSchema(schema)) + @setScopedDefaultsFromSchema(keyPath, schema) + @resetSettingsForSchemaChange() load: -> @initializeConfigDirectory() From b66d1acb025d180fdc75bba6c15719fd0183b2c0 Mon Sep 17 00:00:00 2001 From: Yuya Tanaka Date: Mon, 25 Jul 2016 07:51:11 +0900 Subject: [PATCH 52/78] :racehorse: Skip require from settings view if configSchema --- src/package.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/src/package.coffee b/src/package.coffee index b27e3ce0e..1bb8a939c 100644 --- a/src/package.coffee +++ b/src/package.coffee @@ -159,6 +159,7 @@ class Package # TODO: Remove. Settings view calls this method currently. activateConfig: -> + return if @configSchemaRegisteredOnLoad @requireMainModule() @registerConfigSchemaFromMainModule() From 9199b7ffa99d442c8b0729f0dc1724fdc26ddfea Mon Sep 17 00:00:00 2001 From: Damien Guard Date: Mon, 25 Jul 2016 09:22:25 -0700 Subject: [PATCH 53/78] Disable autosubmit of crash reporter --- src/crash-reporter-start.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crash-reporter-start.coffee b/src/crash-reporter-start.coffee index af371df79..f19e61179 100644 --- a/src/crash-reporter-start.coffee +++ b/src/crash-reporter-start.coffee @@ -4,6 +4,6 @@ module.exports = (extra) -> crashReporter.start({ productName: 'Atom', companyName: 'GitHub', - submitURL: 'http://54.249.141.255:1127/post' + autoSubmit: false, extra: extra }) From 3589d6173ff4115ccba92428f175fe39dc2d8ddd Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 18:22:24 +0200 Subject: [PATCH 54/78] Start on Circle CI --- circle.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index a55900cca..d43f769c6 100644 --- a/circle.yml +++ b/circle.yml @@ -1,4 +1,16 @@ +machine: + node: + version: 4.4.7 + general: branches: only: - - io-circle-ci + - as-circle-ci + +dependencies: + override: + - script/bootstrap + +test: + override: + - script/grunt ci From d2d9ddacd86142ad9ed7be134793dbf8e657599e Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 18:26:13 +0200 Subject: [PATCH 55/78] Use the latest Xcode --- circle.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/circle.yml b/circle.yml index d43f769c6..2b7f64496 100644 --- a/circle.yml +++ b/circle.yml @@ -1,4 +1,7 @@ machine: + xcode: + version: 7.3 + node: version: 4.4.7 From 0fa6119df8e821c35933e8a5eff0946c656c5be6 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 18:28:36 +0200 Subject: [PATCH 56/78] Try skipping xcode_scheme --- circle.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/circle.yml b/circle.yml index 2b7f64496..c8ff35153 100644 --- a/circle.yml +++ b/circle.yml @@ -1,4 +1,7 @@ machine: + environment: + XCODE_SCHEME: test + xcode: version: 7.3 From 4f64abc0898eec0d3fbba40c8f5199adaaad74d4 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 18:37:29 +0200 Subject: [PATCH 57/78] Test --- circle.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/circle.yml b/circle.yml index c8ff35153..1570fbfd2 100644 --- a/circle.yml +++ b/circle.yml @@ -1,6 +1,7 @@ machine: environment: XCODE_SCHEME: test + XCODE_WORKSPACE: test xcode: version: 7.3 From e8d25250cc8f7ccaf52fb18ede77b915176ddf13 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 18:39:43 +0200 Subject: [PATCH 58/78] Another test --- circle.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/circle.yml b/circle.yml index 1570fbfd2..381b81241 100644 --- a/circle.yml +++ b/circle.yml @@ -2,6 +2,7 @@ machine: environment: XCODE_SCHEME: test XCODE_WORKSPACE: test + XCODE_PROJECT: test xcode: version: 7.3 From 9204238c243830143cb36144af3c25d992e83b35 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 18:41:21 +0200 Subject: [PATCH 59/78] Install node via nvm --- circle.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/circle.yml b/circle.yml index 381b81241..e30bd9db7 100644 --- a/circle.yml +++ b/circle.yml @@ -7,15 +7,17 @@ machine: xcode: version: 7.3 - node: - version: 4.4.7 - general: branches: only: - as-circle-ci dependencies: + pre: + - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.3/install.sh | bash + - nvm install 4.4.7 + - nvm use 4.4.7 + override: - script/bootstrap From 77f8811b187855c15e87fbc55137332a95ab6a92 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 18:43:15 +0200 Subject: [PATCH 60/78] Upgrade npm before running script/bootstrap --- circle.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/circle.yml b/circle.yml index e30bd9db7..40cf6c478 100644 --- a/circle.yml +++ b/circle.yml @@ -17,6 +17,7 @@ dependencies: - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.3/install.sh | bash - nvm install 4.4.7 - nvm use 4.4.7 + - npm install -g npm override: - script/bootstrap From 1e00a9ad2736721d8663ff963916cba37154ca2d Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 19:07:06 +0200 Subject: [PATCH 61/78] Cache node_modules on CircleCI --- circle.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/circle.yml b/circle.yml index 40cf6c478..28225cd11 100644 --- a/circle.yml +++ b/circle.yml @@ -22,6 +22,12 @@ dependencies: override: - script/bootstrap + cache_directories: + - apm/node_modules + - build/node_modules + - node_modules + - electron + test: override: - script/grunt ci From ea969d71ec1d479d1d7fd5be52dbb0236d789113 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 19:33:34 +0200 Subject: [PATCH 62/78] Use fingerprint to invalidate cache --- circle.yml | 4 ++++ script/fingerprint-clean | 23 +++++++++++++++++++++++ script/fingerprint-write | 2 ++ 3 files changed, 29 insertions(+) create mode 100755 script/fingerprint-clean create mode 100755 script/fingerprint-write diff --git a/circle.yml b/circle.yml index 28225cd11..3f3b86c07 100644 --- a/circle.yml +++ b/circle.yml @@ -18,10 +18,14 @@ dependencies: - nvm install 4.4.7 - nvm use 4.4.7 - npm install -g npm + - script/fingerprint-clean override: - script/bootstrap + post: + - script/fingerprint-write + cache_directories: - apm/node_modules - build/node_modules diff --git a/script/fingerprint-clean b/script/fingerprint-clean new file mode 100755 index 000000000..6c2a67ca0 --- /dev/null +++ b/script/fingerprint-clean @@ -0,0 +1,23 @@ +#!/usr/bin/env node +var fingerprint = require('./utils/fingerprint') + +if (fingerprint.fingerprintMatches()) { + console.log('node_modules matches current fingerprint ' + fingerprint.fingerprint() + ' - not removing') + return +} + +var fsPlus +try { + fsPlus = require('fs-plus') +} catch (error) { + console.log(error.message) + return +} + +try { + fsPlus.removeSync(path.resolve(__dirname, '..', 'node_modules')) + fsPlus.removeSync(path.resolve(__dirname, '..', 'apm', 'node_modules')) +} catch (error) { + console.error(error.message) + process.exit(1) +} diff --git a/script/fingerprint-write b/script/fingerprint-write new file mode 100755 index 000000000..e5fad4d72 --- /dev/null +++ b/script/fingerprint-write @@ -0,0 +1,2 @@ +#!/usr/bin/env node +require('./utils/fingerprint').writeFingerprint() From 8c4b836558e3f239a48d30d536d9f761e5a30928 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 20:28:33 +0200 Subject: [PATCH 63/78] :fire: Remove Electron from cache --- circle.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/circle.yml b/circle.yml index 3f3b86c07..a5efd757f 100644 --- a/circle.yml +++ b/circle.yml @@ -30,7 +30,6 @@ dependencies: - apm/node_modules - build/node_modules - node_modules - - electron test: override: From ee32342230cc083eb91fab009fb51574d7f3b2c6 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 20:33:21 +0200 Subject: [PATCH 64/78] Don't remove node_modules if we don't have a fingerprint --- script/fingerprint-clean | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/script/fingerprint-clean b/script/fingerprint-clean index 6c2a67ca0..659395190 100755 --- a/script/fingerprint-clean +++ b/script/fingerprint-clean @@ -1,5 +1,11 @@ #!/usr/bin/env node var fingerprint = require('./utils/fingerprint') +var fs = require('fs') +var path = require('path') + +if (!fs.existsSync(path.resolve(__dirname, '..', 'node_modules', '.atom-ci-fingerprint'))) { + return +} if (fingerprint.fingerprintMatches()) { console.log('node_modules matches current fingerprint ' + fingerprint.fingerprint() + ' - not removing') From a06ff650ee4233ad513abb2beb9dd3e1a91ce81f Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 21 Jul 2016 11:07:43 +0200 Subject: [PATCH 65/78] Build all the branches --- circle.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/circle.yml b/circle.yml index a5efd757f..86e5cbdae 100644 --- a/circle.yml +++ b/circle.yml @@ -7,11 +7,6 @@ machine: xcode: version: 7.3 -general: - branches: - only: - - as-circle-ci - dependencies: pre: - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.3/install.sh | bash From 919be72ce7aa2fd339584734d4755efa92707101 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 21 Jul 2016 11:09:04 +0200 Subject: [PATCH 66/78] Make Atom.app downloadable from the artifacts --- circle.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/circle.yml b/circle.yml index 86e5cbdae..313515b5a 100644 --- a/circle.yml +++ b/circle.yml @@ -7,6 +7,10 @@ machine: xcode: version: 7.3 +general: + artifacts: + - out/Atom.app + dependencies: pre: - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.3/install.sh | bash From 5a4be54b5622b2127444e3b2ec2d5993d304c5c3 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 21 Jul 2016 11:43:46 +0200 Subject: [PATCH 67/78] Zip before collecting artifact --- circle.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 313515b5a..95ebb024c 100644 --- a/circle.yml +++ b/circle.yml @@ -9,7 +9,7 @@ machine: general: artifacts: - - out/Atom.app + - out/Atom.zip dependencies: pre: @@ -33,3 +33,6 @@ dependencies: test: override: - script/grunt ci + + post: + - zip -r out/Atom.zip out/Atom.app From 64c5924b3fdceab627a8161df90d066b1a519b2e Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Fri, 22 Jul 2016 18:09:15 +0200 Subject: [PATCH 68/78] Replace Travis status badge with CircleCI Signed-off-by: Nathan Sobo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f052ccff..55d93aff7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![Atom](https://cloud.githubusercontent.com/assets/72919/2874231/3af1db48-d3dd-11e3-98dc-6066f8bc766f.png) -[![macOS Build Status](https://travis-ci.org/atom/atom.svg?branch=master)](https://travis-ci.org/atom/atom) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/1tkktwh654w07eim?svg=true)](https://ci.appveyor.com/project/Atom/atom) +[![macOS Build Status](https://circleci.com/gh/atom/atom.svg?style=svg)](https://circleci.com/gh/atom/atom) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/1tkktwh654w07eim?svg=true)](https://ci.appveyor.com/project/Atom/atom) [![Dependency Status](https://david-dm.org/atom/atom.svg)](https://david-dm.org/atom/atom) [![Join the Atom Community on Slack](http://atom-slack.herokuapp.com/badge.svg)](http://atom-slack.herokuapp.com/) From ca09bdf1951a7e12fabfeacf9ee1ac4081eeed44 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Mon, 25 Jul 2016 19:00:47 +0200 Subject: [PATCH 69/78] Remove OS X from Travis Build Matrix Signed-off-by: Nathan Sobo --- .travis.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index b17253332..9ac8cc72a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,18 +9,12 @@ env: global: - ATOM_ACCESS_TOKEN=da809a6077bb1b0aa7c5623f7b2d5f1fec2faae4 -osx_image: xcode7.3 - compiler: clang matrix: include: - os: linux env: NODE_VERSION=4 - - os: osx - env: ATOM_SPECS_TASK=core NODE_VERSION=4 - - os: osx - env: ATOM_SPECS_TASK=packages NODE_VERSION=4 sudo: false From f19e043f5c689c73416bbd54cc4b9bac4ea358de Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 25 Jul 2016 16:22:22 -0600 Subject: [PATCH 70/78] Revert "Use apm@1.12.2 with Node v4 and npm v3 \o/" --- .travis.yml | 16 +++++++--------- Dockerfile | 8 +++++--- apm/package.json | 2 +- appveyor.yml | 3 +-- build/package.json | 2 +- build/tasks/compile-packages-slug-task.coffee | 2 -- script/bootstrap | 9 +++++++-- script/cibuild-atom-linux | 11 +++++------ script/utils/fingerprint.js | 8 +++----- 9 files changed, 30 insertions(+), 31 deletions(-) diff --git a/.travis.yml b/.travis.yml index b17253332..7b6113aa0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,18 +9,18 @@ env: global: - ATOM_ACCESS_TOKEN=da809a6077bb1b0aa7c5623f7b2d5f1fec2faae4 -osx_image: xcode7.3 - compiler: clang matrix: include: + - os: linux + env: NODE_VERSION=0.12 - os: linux env: NODE_VERSION=4 - os: osx - env: ATOM_SPECS_TASK=core NODE_VERSION=4 + env: ATOM_SPECS_TASK=core NODE_VERSION=0.12 - os: osx - env: ATOM_SPECS_TASK=packages NODE_VERSION=4 + env: ATOM_SPECS_TASK=packages NODE_VERSION=0.12 sudo: false @@ -28,15 +28,16 @@ install: - git clone https://github.com/creationix/nvm.git /tmp/.nvm - source /tmp/.nvm/nvm.sh - nvm install $NODE_VERSION - - nvm use --delete-prefix $NODE_VERSION + - nvm use $NODE_VERSION script: script/cibuild cache: directories: - node_modules - - apm/node_modules - build/node_modules + - apm/node_modules + - $HOME/.atom/compile-cache notifications: email: @@ -45,11 +46,8 @@ notifications: addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - build-essential - git - libgnome-keyring-dev - fakeroot - - gcc-multilib diff --git a/Dockerfile b/Dockerfile index 22a101743..d792c30c5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # DESCRIPTION: Image to build Atom and create a .rpm file # Base docker image -FROM nodesource/fedora21:4.2.6 +FROM fedora:21 # Install dependencies RUN yum install -y \ @@ -12,9 +12,11 @@ RUN yum install -y \ glibc-devel \ git-core \ libgnome-keyring-devel \ - rpmdevtools + rpmdevtools \ + nodejs \ + npm -RUN npm install -g npm --loglevel error +RUN npm install -g npm@1.4.28 --loglevel error ADD . /atom WORKDIR /atom diff --git a/apm/package.json b/apm/package.json index 18f313c16..d4fcc851a 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.12.3" + "atom-package-manager": "1.10.0" } } diff --git a/appveyor.yml b/appveyor.yml index 316701aae..6248db85e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -12,10 +12,9 @@ environment: ATOM_DEV_RESOURCE_PATH: c:\projects\atom ATOM_ACCESS_TOKEN: secure: Q7vxmSq0bVCLTTRPzXw5ZhPTe7XYhWxX0tQV6neEkddTH6pZkOYNmSCG6VnMX2f+ - ATOM_NOISY_BUILD: 1 matrix: - - NODE_VERSION: 4.4.5 + - NODE_VERSION: 0.10.35 install: - SET PATH=C:\Program Files\Atom\resources\cli;%PATH% diff --git a/build/package.json b/build/package.json index 533f49417..2f8d88d8a 100644 --- a/build/package.json +++ b/build/package.json @@ -32,7 +32,7 @@ "grunt-standard": "^2.0.0", "legal-eagle": "~0.13.0", "minidump": "~0.9", - "npm": "3.10.5", + "npm": "2.13.3", "rcedit": "~0.3.0", "request": "~2.27.0", "rimraf": "~2.2.2", diff --git a/build/tasks/compile-packages-slug-task.coffee b/build/tasks/compile-packages-slug-task.coffee index f6f297bec..7317f158a 100644 --- a/build/tasks/compile-packages-slug-task.coffee +++ b/build/tasks/compile-packages-slug-task.coffee @@ -40,8 +40,6 @@ module.exports = (grunt) -> continue if path.basename(moduleDirectory) is '.bin' metadataPath = path.join(moduleDirectory, 'package.json') - continue unless fs.existsSync(metadataPath) - metadata = grunt.file.readJSON(metadataPath) continue unless metadata?.engines?.atom? diff --git a/script/bootstrap b/script/bootstrap index 6fcf8fef0..3b9a35735 100755 --- a/script/bootstrap +++ b/script/bootstrap @@ -75,7 +75,7 @@ function bootstrap() { var buildInstallCommand = initialNpmCommand + npmFlags + 'install'; var buildInstallOptions = {cwd: path.resolve(__dirname, '..', 'build')}; - var apmInstallCommand = npmPath + npmFlags + '--target=4.4.5 --global-style ' + 'install'; + var apmInstallCommand = npmPath + npmFlags + '--target=0.10.40 ' + 'install'; var apmInstallOptions = {cwd: apmInstallPath}; var moduleInstallCommand = apmPath + ' install' + apmFlags; var dedupeApmCommand = apmPath + ' dedupe' + apmFlags; @@ -97,7 +97,7 @@ function bootstrap() { } var moduleInstallOptions = {env: moduleInstallEnv}; - if (process.argv.indexOf('--no-quiet') === -1 || process.env.ATOM_NOISY_BUILD) { + if (process.argv.indexOf('--no-quiet') === -1) { buildInstallCommand += ' --loglevel error'; apmInstallCommand += ' --loglevel error'; moduleInstallCommand += ' --loglevel error'; @@ -122,6 +122,11 @@ function bootstrap() { message: 'Installing apm...', options: apmInstallOptions }, + { + command: apmPath + ' clean' + apmFlags, + message: 'Deleting old packages...', + options: moduleInstallOptions + }, { command: moduleInstallCommand, options: moduleInstallOptions diff --git a/script/cibuild-atom-linux b/script/cibuild-atom-linux index fe79c19fe..2c3395608 100755 --- a/script/cibuild-atom-linux +++ b/script/cibuild-atom-linux @@ -7,11 +7,10 @@ export BUILD_ATOM_RELEASES_S3_KEY=$BUILD_ATOM_LINUX_RELEASES_S3_KEY export BUILD_ATOM_RELEASES_S3_SECRET=$BUILD_ATOM_LINUX_RELEASES_S3_SECRET export BUILD_ATOM_RELEASES_S3_BUCKET=$BUILD_ATOM_LINUX_RELEASES_S3_BUCKET -rm -rf /tmp/.atom-nvm -git clone https://github.com/creationix/nvm.git /tmp/.atom-nvm -source /tmp/.atom-nvm/nvm.sh -nvm install 4.4.7 -nvm use 4.4.7 -npm install -g npm +if [ -d /usr/local/share/nodenv ]; then + export NODENV_ROOT=/usr/local/share/nodenv + export PATH=/usr/local/share/nodenv/bin:/usr/local/share/nodenv/shims:$PATH + export NODENV_VERSION="v0.10.21" +fi script/cibuild diff --git a/script/utils/fingerprint.js b/script/utils/fingerprint.js index e1f6276d2..c419ba4fd 100644 --- a/script/utils/fingerprint.js +++ b/script/utils/fingerprint.js @@ -6,14 +6,12 @@ var fingerprintPath = path.resolve(__dirname, '..', '..', 'node_modules', '.atom module.exports = { fingerprint: function () { - var atomPackageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'package.json')) - var apmPackageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'apm', 'package.json')) + var packageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'package.json')) //Include the electron minor version in the fingerprint since that changing requires a re-install - var electronVersion = JSON.parse(atomPackageJson).electronVersion.replace(/\.\d+$/, '') - var apmVersion = JSON.parse(apmPackageJson).dependencies['atom-package-manager'] + var electronVersion = JSON.parse(packageJson).electronVersion.replace(/\.\d+$/, '') - var body = electronVersion + apmVersion + process.platform + process.version + var body = electronVersion + process.platform + process.version return crypto.createHash('sha1').update(body).digest('hex') }, From 8550fe028b407c1744275a88b2ac3ef1bd51d0cb Mon Sep 17 00:00:00 2001 From: Damien Guard Date: Tue, 26 Jul 2016 09:10:43 -0700 Subject: [PATCH 71/78] New crashreporter URL to prevent warnings --- src/crash-reporter-start.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/src/crash-reporter-start.coffee b/src/crash-reporter-start.coffee index f19e61179..47aae2469 100644 --- a/src/crash-reporter-start.coffee +++ b/src/crash-reporter-start.coffee @@ -4,6 +4,7 @@ module.exports = (extra) -> crashReporter.start({ productName: 'Atom', companyName: 'GitHub', + submitURL: 'https://crashreporter.atom.io', autoSubmit: false, extra: extra }) From beeeaeb5214e9a3d94f3d9798c69bed1dd1c50ea Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 26 Jul 2016 10:29:25 -0600 Subject: [PATCH 72/78] Revert "Revert "Use apm@1.12.2 with Node v4 and npm v3 \o/"" --- .travis.yml | 16 +++++++++------- Dockerfile | 8 +++----- apm/package.json | 2 +- appveyor.yml | 3 ++- build/package.json | 2 +- build/tasks/compile-packages-slug-task.coffee | 2 ++ script/bootstrap | 9 ++------- script/cibuild-atom-linux | 11 ++++++----- script/utils/fingerprint.js | 8 +++++--- 9 files changed, 31 insertions(+), 30 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7b6113aa0..b17253332 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,18 +9,18 @@ env: global: - ATOM_ACCESS_TOKEN=da809a6077bb1b0aa7c5623f7b2d5f1fec2faae4 +osx_image: xcode7.3 + compiler: clang matrix: include: - - os: linux - env: NODE_VERSION=0.12 - os: linux env: NODE_VERSION=4 - os: osx - env: ATOM_SPECS_TASK=core NODE_VERSION=0.12 + env: ATOM_SPECS_TASK=core NODE_VERSION=4 - os: osx - env: ATOM_SPECS_TASK=packages NODE_VERSION=0.12 + env: ATOM_SPECS_TASK=packages NODE_VERSION=4 sudo: false @@ -28,16 +28,15 @@ install: - git clone https://github.com/creationix/nvm.git /tmp/.nvm - source /tmp/.nvm/nvm.sh - nvm install $NODE_VERSION - - nvm use $NODE_VERSION + - nvm use --delete-prefix $NODE_VERSION script: script/cibuild cache: directories: - node_modules - - build/node_modules - apm/node_modules - - $HOME/.atom/compile-cache + - build/node_modules notifications: email: @@ -46,8 +45,11 @@ notifications: addons: apt: + sources: + - ubuntu-toolchain-r-test packages: - build-essential - git - libgnome-keyring-dev - fakeroot + - gcc-multilib diff --git a/Dockerfile b/Dockerfile index d792c30c5..22a101743 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # DESCRIPTION: Image to build Atom and create a .rpm file # Base docker image -FROM fedora:21 +FROM nodesource/fedora21:4.2.6 # Install dependencies RUN yum install -y \ @@ -12,11 +12,9 @@ RUN yum install -y \ glibc-devel \ git-core \ libgnome-keyring-devel \ - rpmdevtools \ - nodejs \ - npm + rpmdevtools -RUN npm install -g npm@1.4.28 --loglevel error +RUN npm install -g npm --loglevel error ADD . /atom WORKDIR /atom diff --git a/apm/package.json b/apm/package.json index d4fcc851a..18f313c16 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.10.0" + "atom-package-manager": "1.12.3" } } diff --git a/appveyor.yml b/appveyor.yml index 6248db85e..316701aae 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -12,9 +12,10 @@ environment: ATOM_DEV_RESOURCE_PATH: c:\projects\atom ATOM_ACCESS_TOKEN: secure: Q7vxmSq0bVCLTTRPzXw5ZhPTe7XYhWxX0tQV6neEkddTH6pZkOYNmSCG6VnMX2f+ + ATOM_NOISY_BUILD: 1 matrix: - - NODE_VERSION: 0.10.35 + - NODE_VERSION: 4.4.5 install: - SET PATH=C:\Program Files\Atom\resources\cli;%PATH% diff --git a/build/package.json b/build/package.json index 2f8d88d8a..533f49417 100644 --- a/build/package.json +++ b/build/package.json @@ -32,7 +32,7 @@ "grunt-standard": "^2.0.0", "legal-eagle": "~0.13.0", "minidump": "~0.9", - "npm": "2.13.3", + "npm": "3.10.5", "rcedit": "~0.3.0", "request": "~2.27.0", "rimraf": "~2.2.2", diff --git a/build/tasks/compile-packages-slug-task.coffee b/build/tasks/compile-packages-slug-task.coffee index 7317f158a..f6f297bec 100644 --- a/build/tasks/compile-packages-slug-task.coffee +++ b/build/tasks/compile-packages-slug-task.coffee @@ -40,6 +40,8 @@ module.exports = (grunt) -> continue if path.basename(moduleDirectory) is '.bin' metadataPath = path.join(moduleDirectory, 'package.json') + continue unless fs.existsSync(metadataPath) + metadata = grunt.file.readJSON(metadataPath) continue unless metadata?.engines?.atom? diff --git a/script/bootstrap b/script/bootstrap index 3b9a35735..6fcf8fef0 100755 --- a/script/bootstrap +++ b/script/bootstrap @@ -75,7 +75,7 @@ function bootstrap() { var buildInstallCommand = initialNpmCommand + npmFlags + 'install'; var buildInstallOptions = {cwd: path.resolve(__dirname, '..', 'build')}; - var apmInstallCommand = npmPath + npmFlags + '--target=0.10.40 ' + 'install'; + var apmInstallCommand = npmPath + npmFlags + '--target=4.4.5 --global-style ' + 'install'; var apmInstallOptions = {cwd: apmInstallPath}; var moduleInstallCommand = apmPath + ' install' + apmFlags; var dedupeApmCommand = apmPath + ' dedupe' + apmFlags; @@ -97,7 +97,7 @@ function bootstrap() { } var moduleInstallOptions = {env: moduleInstallEnv}; - if (process.argv.indexOf('--no-quiet') === -1) { + if (process.argv.indexOf('--no-quiet') === -1 || process.env.ATOM_NOISY_BUILD) { buildInstallCommand += ' --loglevel error'; apmInstallCommand += ' --loglevel error'; moduleInstallCommand += ' --loglevel error'; @@ -122,11 +122,6 @@ function bootstrap() { message: 'Installing apm...', options: apmInstallOptions }, - { - command: apmPath + ' clean' + apmFlags, - message: 'Deleting old packages...', - options: moduleInstallOptions - }, { command: moduleInstallCommand, options: moduleInstallOptions diff --git a/script/cibuild-atom-linux b/script/cibuild-atom-linux index 2c3395608..fe79c19fe 100755 --- a/script/cibuild-atom-linux +++ b/script/cibuild-atom-linux @@ -7,10 +7,11 @@ export BUILD_ATOM_RELEASES_S3_KEY=$BUILD_ATOM_LINUX_RELEASES_S3_KEY export BUILD_ATOM_RELEASES_S3_SECRET=$BUILD_ATOM_LINUX_RELEASES_S3_SECRET export BUILD_ATOM_RELEASES_S3_BUCKET=$BUILD_ATOM_LINUX_RELEASES_S3_BUCKET -if [ -d /usr/local/share/nodenv ]; then - export NODENV_ROOT=/usr/local/share/nodenv - export PATH=/usr/local/share/nodenv/bin:/usr/local/share/nodenv/shims:$PATH - export NODENV_VERSION="v0.10.21" -fi +rm -rf /tmp/.atom-nvm +git clone https://github.com/creationix/nvm.git /tmp/.atom-nvm +source /tmp/.atom-nvm/nvm.sh +nvm install 4.4.7 +nvm use 4.4.7 +npm install -g npm script/cibuild diff --git a/script/utils/fingerprint.js b/script/utils/fingerprint.js index c419ba4fd..e1f6276d2 100644 --- a/script/utils/fingerprint.js +++ b/script/utils/fingerprint.js @@ -6,12 +6,14 @@ var fingerprintPath = path.resolve(__dirname, '..', '..', 'node_modules', '.atom module.exports = { fingerprint: function () { - var packageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'package.json')) + var atomPackageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'package.json')) + var apmPackageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'apm', 'package.json')) //Include the electron minor version in the fingerprint since that changing requires a re-install - var electronVersion = JSON.parse(packageJson).electronVersion.replace(/\.\d+$/, '') + var electronVersion = JSON.parse(atomPackageJson).electronVersion.replace(/\.\d+$/, '') + var apmVersion = JSON.parse(apmPackageJson).dependencies['atom-package-manager'] - var body = electronVersion + process.platform + process.version + var body = electronVersion + apmVersion + process.platform + process.version return crypto.createHash('sha1').update(body).digest('hex') }, From ea8ca2f17fdbb21c9d94150ac375a4f70dfcff67 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 26 Jul 2016 10:31:21 -0600 Subject: [PATCH 73/78] :arrow_up: atom-package-manager to fix asar-require issues --- apm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm/package.json b/apm/package.json index 18f313c16..31162dcaf 100644 --- a/apm/package.json +++ b/apm/package.json @@ -6,6 +6,6 @@ "url": "https://github.com/atom/atom.git" }, "dependencies": { - "atom-package-manager": "1.12.3" + "atom-package-manager": "1.12.5" } } From 8b259a9f9f3883642bae2dbeeb07d395340e99e7 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 27 Jul 2016 10:29:37 +0200 Subject: [PATCH 74/78] Put back Travis badge for Linux build status --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 55d93aff7..a41ddeb64 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![Atom](https://cloud.githubusercontent.com/assets/72919/2874231/3af1db48-d3dd-11e3-98dc-6066f8bc766f.png) -[![macOS Build Status](https://circleci.com/gh/atom/atom.svg?style=svg)](https://circleci.com/gh/atom/atom) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/1tkktwh654w07eim?svg=true)](https://ci.appveyor.com/project/Atom/atom) +[![macOS Build Status](https://circleci.com/gh/atom/atom.svg?style=svg)](https://circleci.com/gh/atom/atom) [![Linux Build Status](https://travis-ci.org/atom/atom.svg?branch=master)](https://travis-ci.org/atom/atom) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/1tkktwh654w07eim?svg=true)](https://ci.appveyor.com/project/Atom/atom) [![Dependency Status](https://david-dm.org/atom/atom.svg)](https://david-dm.org/atom/atom) [![Join the Atom Community on Slack](http://atom-slack.herokuapp.com/badge.svg)](http://atom-slack.herokuapp.com/) From 1d2f9cfeef46e86d6e5f607bdc148050480660e5 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 27 Jul 2016 11:02:23 +0200 Subject: [PATCH 75/78] Make sure script/grunt exports ATOM_RESOURCE_PATH --- script/grunt | 1 + 1 file changed, 1 insertion(+) diff --git a/script/grunt b/script/grunt index 99f6860d2..50f5930fa 100755 --- a/script/grunt +++ b/script/grunt @@ -1,4 +1,5 @@ #!/usr/bin/env node +process.env.ATOM_RESOURCE_PATH = path.resolve(__dirname, '..'); var runGrunt = require('./utils/run-grunt.js'); // build/node_modules/.bin/grunt "$@" From 94b4ec4ccb0c0aeabc262d6a1626d867cafa7c77 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 27 Jul 2016 11:06:35 +0200 Subject: [PATCH 76/78] :green_heart: Add missing require statement --- script/grunt | 1 + 1 file changed, 1 insertion(+) diff --git a/script/grunt b/script/grunt index 50f5930fa..10f3beac5 100755 --- a/script/grunt +++ b/script/grunt @@ -1,4 +1,5 @@ #!/usr/bin/env node +var path = require('path'); process.env.ATOM_RESOURCE_PATH = path.resolve(__dirname, '..'); var runGrunt = require('./utils/run-grunt.js'); From 9bdc88ad32accf086bf66327844db48fbf0d33ec Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 27 Jul 2016 11:51:57 +0200 Subject: [PATCH 77/78] Export ATOM_RESOURCE_PATH in Gruntfile.coffee if unset --- build/Gruntfile.coffee | 2 ++ script/grunt | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index 653e1e268..1f3d889bd 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -14,6 +14,8 @@ _ = require 'underscore-plus' packageJson = require '../package.json' module.exports = (grunt) -> + process.env.ATOM_RESOURCE_PATH ?= path.resolve(__dirname, '..'); + require('time-grunt')(grunt) grunt.loadNpmTasks('grunt-babel') diff --git a/script/grunt b/script/grunt index 10f3beac5..99f6860d2 100755 --- a/script/grunt +++ b/script/grunt @@ -1,6 +1,4 @@ #!/usr/bin/env node -var path = require('path'); -process.env.ATOM_RESOURCE_PATH = path.resolve(__dirname, '..'); var runGrunt = require('./utils/run-grunt.js'); // build/node_modules/.bin/grunt "$@" From 921ff851670f4fe8e78753a254112a15a282537d Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 27 Jul 2016 11:59:48 +0200 Subject: [PATCH 78/78] Remove trailing semicolon --- build/Gruntfile.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index 1f3d889bd..5cf88175e 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -14,7 +14,7 @@ _ = require 'underscore-plus' packageJson = require '../package.json' module.exports = (grunt) -> - process.env.ATOM_RESOURCE_PATH ?= path.resolve(__dirname, '..'); + process.env.ATOM_RESOURCE_PATH ?= path.resolve(__dirname, '..') require('time-grunt')(grunt)