From 3589d6173ff4115ccba92428f175fe39dc2d8ddd Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Wed, 20 Jul 2016 18:22:24 +0200 Subject: [PATCH 01/15] 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 02/15] 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 03/15] 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 04/15] 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 05/15] 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 06/15] 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 07/15] 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 08/15] 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 09/15] 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 10/15] :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 11/15] 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 12/15] 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 13/15] 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 14/15] 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 15/15] 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/)