Add Appveyor CI

- Add Appveyor badge
- Add Appveyor.yml definition, with encrypted ATOM_ACCESS_TOKEN
- Add cibuild.cmd script to launch cibuild on Windows
- Prepare to release Atom on Windows from Appveyor (but don't do it yet)
- Reduce dependence on JANKY in ci scripts + tasks
- Suppress release activities on PRs for Travis and Appveyor
- Cache ~/.atom/.apm, ~/.atom/.node-gyp/.atom, and ~/.atom/.npm on Appveyor
This commit is contained in:
Joe Fitzgerald
2015-11-10 15:37:01 -07:00
parent 91bece4336
commit 19334be188
12 changed files with 86 additions and 25 deletions

View File

@@ -22,12 +22,18 @@ function loadEnvironmentVariables(filePath) {
}
function readEnvironmentVariables() {
if (process.platform === 'win32') {
loadEnvironmentVariables(path.resolve('/jenkins/config/atomcredentials'));
} else if (process.platform === 'darwin') {
loadEnvironmentVariables('/var/lib/jenkins/config/atomcredentials');
loadEnvironmentVariables('/var/lib/jenkins/config/xcodekeychain');
} else if (process.platform === 'linux') {
if (process.env.JANKY_SHA1) {
if (process.platform === 'win32') {
loadEnvironmentVariables(path.resolve('/jenkins/config/atomcredentials'));
} else if (process.platform === 'darwin') {
loadEnvironmentVariables('/var/lib/jenkins/config/atomcredentials');
loadEnvironmentVariables('/var/lib/jenkins/config/xcodekeychain');
}
}
}
function setEnvironmentVariables() {
if (process.platform === 'linux') {
// Use Clang for building native code, the GCC on Precise is too old.
process.env.CC = 'clang';
process.env.CXX = 'clang++';
@@ -81,6 +87,7 @@ function removeTempFolders() {
}
readEnvironmentVariables();
setEnvironmentVariables();
removeNodeModules();
removeTempFolders();
cp.safeExec.bind(global, 'npm install npm --loglevel error', {cwd: path.resolve(__dirname, '..', 'build')}, function() {