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') },