diff --git a/.travis.yml b/.travis.yml index 5c69a2899..c60abcf5f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,12 +14,13 @@ stages: - name: lint - name: build - name: pack - if: tag IS present - - name: deploy - if: tag IS present + if: (tag IS present) AND (type != cron) + - name: packNightly + if: (branch = develop) AND (type = cron) jobs: include: + - stage: lint script: - gulp lint @@ -28,6 +29,7 @@ jobs: script: - gulp build skip_cleanup: true + - stage: pack script: - gulp -f devSetup.gulpfile.js @@ -48,5 +50,18 @@ jobs: - provider: script script: gulp deployOnly skip_cleanup: true + on: + all_branches: true + + - stage: packNightly + script: + - gulp -f devSetup.gulpfile.js + - gulp packages --nightly --buildNum=$TRAVIS_BUILD_NUMBER + skip_cleanup: true + deploy: + # Push to comigo.itch.io/ct + - provider: script + script: gulp deployOnly --nightly --buildNum=$TRAVIS_BUILD_NUMBER + skip_cleanup: true on: all_branches: true \ No newline at end of file diff --git a/buildAssets/icon.png b/buildAssets/icon.png new file mode 100644 index 000000000..38bbc1450 Binary files /dev/null and b/buildAssets/icon.png differ diff --git a/buildAssets/nightly.icns b/buildAssets/nightly.icns new file mode 100644 index 000000000..182643617 Binary files /dev/null and b/buildAssets/nightly.icns differ diff --git a/buildAssets/nightly.ico b/buildAssets/nightly.ico new file mode 100644 index 000000000..435204b3d Binary files /dev/null and b/buildAssets/nightly.ico differ diff --git a/buildAssets/nightly.png b/buildAssets/nightly.png new file mode 100644 index 000000000..b02a3795e Binary files /dev/null and b/buildAssets/nightly.png differ diff --git a/gulpfile.js b/gulpfile.js index b8eef81a6..e1ecf82dc 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -33,7 +33,13 @@ const npm = (/^win/).test(process.platform) ? 'npm.cmd' : 'npm'; const pack = require('./app/package.json'); var channelPostfix = argv.channel || false, - fixEnabled = argv.fix || false; + fixEnabled = argv.fix || false, + nightly = argv.nightly || false, + buildNumber = argv.buildNum || false; + +if (nightly) { + channelPostfix = 'nightly'; +} let errorBoxShown = false; const showErrorBox = function () { @@ -390,6 +396,12 @@ const build = gulp.parallel([ const bakePackages = async () => { const NwBuilder = require('nw-builder'); + // Use the appropriate icon for each release channel + if (nightly) { + await fs.copy('./buildAssets/icon.png', './app/ct_ide.png'); + } else { + await fs.copy('./buildAssets/nightly.png', './app/ct_ide.png'); + } await fs.remove(path.join('./build', `ctjs - v${pack.version}`)); var nw = new NwBuilder({ files: nwFiles, @@ -399,7 +411,7 @@ const bakePackages = async () => { buildType: 'versioned', // forceDownload: true, zip: false, - macIcns: './buildAssets/icon.icns' + macIcns: nightly ? './buildAssets/nightly.icns' : './buildAssets/icon.icns' }); await nw.build(); console.log('Built to this location:', path.join('./build', `ctjs - v${pack.version}`)); @@ -527,6 +539,13 @@ const packages = gulp.series([ const deployOnly = () => { console.log(`For channel ${channelPostfix}`); + if (nightly) { + return spawnise.spawn('./butler', ['push', `./build/ctjs - v${pack.version}/linux32`, `comigo/ct:linux32${channelPostfix ? '-' + channelPostfix : ''}`, '--userversion', buildNumber]) + .then(() => spawnise.spawn('./butler', ['push', `./build/ctjs - v${pack.version}/linux64`, `comigo/ct:linux64${channelPostfix ? '-' + channelPostfix : ''}`, '--userversion', buildNumber])) + .then(() => spawnise.spawn('./butler', ['push', `./build/ctjs - v${pack.version}/osx64`, `comigo/ct:osx64${channelPostfix ? '-' + channelPostfix : ''}`, '--userversion', buildNumber])) + .then(() => spawnise.spawn('./butler', ['push', `./build/ctjs - v${pack.version}/win32`, `comigo/ct:win32${channelPostfix ? '-' + channelPostfix : ''}`, '--userversion', buildNumber])) + .then(() => spawnise.spawn('./butler', ['push', `./build/ctjs - v${pack.version}/win64`, `comigo/ct:win64${channelPostfix ? '-' + channelPostfix : ''}`, '--userversion', buildNumber])); + } return spawnise.spawn('./butler', ['push', `./build/ctjs - v${pack.version}/linux32`, `comigo/ct:linux32${channelPostfix ? '-' + channelPostfix : ''}`, '--userversion', pack.version]) .then(() => spawnise.spawn('./butler', ['push', `./build/ctjs - v${pack.version}/linux64`, `comigo/ct:linux64${channelPostfix ? '-' + channelPostfix : ''}`, '--userversion', pack.version])) .then(() => spawnise.spawn('./butler', ['push', `./build/ctjs - v${pack.version}/osx64`, `comigo/ct:osx64${channelPostfix ? '-' + channelPostfix : ''}`, '--userversion', pack.version]))