Commit Graph

95 Commits

Author SHA1 Message Date
Matthew Amato fff806f5e1 Fix Firefox tests, add it to travis.yml
1. Don't use PointerEvents for tests in Firefox, see #6539.  This makes
all tests but one pass.

2. Run built files against FirefhoxHeadless. This means we run unminified
on Chrome and minified on Firefox.  This helps keep the build time down
by not running everything twice on both browsers, but will still catch
Firefox-specific bugs that we can then run locally.
2018-08-03 15:19:35 -04:00
Matthew Amato abc3226e33 Use Chrome Headless instead of Electron
Since Chrome added an officially supported headless mode, there's no
reason to use Electron for our unit tests.  This will be both more accurate
(uses actual Chrome) and also gets rid of the rather large Electron
dependency.

WebGL is disabled in headless, so we only use headless on CI (because we
also disable webGL tests there).  When running locally, it just shows an
actual Chrome window. Chrome has an issue and plans to address this:
https://bugs.chromium.org/p/chromium/issues/detail?id=765284
2018-07-23 22:09:28 -04:00
Gabby Getz 35b8dc66a2
Revert "Deploy cesiumjs.org branch to cesiumjs.org" 2018-05-03 16:41:40 -04:00
ggetz 0e807ff45d Deploy cesiumjs.org branch to cesiumjs.org 2018-04-30 17:21:47 -04:00
Matthew Amato 2a2a5e45dc Add smokescreen test for Node support to travis. 2018-02-01 14:54:33 -05:00
hanbollar 02e7de5d11 updated spacing in travis 2018-01-16 16:52:28 -05:00
hanbollar 7ae8fe0ec1 updated travis to run buildApps 2018-01-16 16:49:37 -05:00
ggetz 7ec551c554 deploy-set-version version flag 2017-12-05 16:09:49 -05:00
Matthew Amato 650c93893a Changes for Node 8
1. Start building on travis with Node 8 since it will be LTS soon (it
should slightly speed up builds as well)
2. Add package-lock.json to .gitignore, this is a new npm-generated file
that we won't be submitting to GitHub (it changes almost every time you run
`npm install`).
3. Add package.json to .gitattributes to fix line endings caused by this
npm bug: https://github.com/npm/npm/issues/17161
2017-10-03 10:38:38 -04:00
Matthew Amato c14aea7a83 Fix travis builds
The problem was that travis itself was killing our build process because
we were trying to run 8 requirejs processes at once, leading us to run out
of memory (only 3GB available on travis).  This adds a command line to
specify concurrency and updates travis to do at most 2 (one for each core).
2017-07-19 22:45:55 -04:00
Matthew Amato 5386492889 Use Node 6 instead. 2017-07-11 19:25:57 -04:00
Matthew Amato f8d54765ea Build with the latest version of Node 4.x instead of 4.3
`eslint` or one of the modules it depends on does not work on 4.3 (we
should have always just been using `4` instead of `4.3` to begin with.)
2017-07-11 19:18:07 -04:00
Matthew Amato 6edcb4d428 Make sure we build on travis before running test. 2017-06-19 11:11:35 -04:00
Matthew Amato be225337ce Use cmd version of eslint and enable caching
1. Caching makes eslint only take ~3 seconds plus any files that have
changed since the last time you ran it. Since it's unlikely devs are
touching every tile between runs, this makes eslint much incredibly faster
in the average case.  Also added the genereated `.eslintcache` to git
ignore.

2. Switched to the pure cli version of eslint and remove `eslint-watch`,
which I'm pretty sure no one uses anyway. This simplified our usage and
means we lint all js and html files by default except for the globs
specifically listed in `.eslintignore`  This also shaves 2-4 seconds off
startup time because we're not loading gulpfile.js anymore.

3. Fixed an issue in `index.release.html`, which was previously not linted.
2017-06-19 10:55:56 -04:00
Jason Wohlgemuth 43578febf2 Replace JSHint with ESLint
- Added .eslintrc configuration files
- Added eslint and eslint-watch gulp tasks (added gulp-eslint and eslint-plugin-html deps)
- Removed jshint gulp tasks (and dependencies)
- Refactored inline disable comments in ESLint syntax
- Cleared all new lint errors
- Updated build and test documentation
- Added ESLint to license file
2017-05-18 20:11:17 -05:00
Patrick Cozzi 4bcce0d3b2 Run with WebGL stub on CI for real 2017-01-05 11:38:11 -05:00
Patrick Cozzi f49298b8c5 Replace non-WebGL tests with WebGL stub tests when running CI 2017-01-05 07:53:15 -05:00
Matthew Amato 35d65195f1 Fix travis command line. 2016-03-28 10:21:19 -04:00
Matthew Amato 312a36f07e Deploy zip and npm packages
This change allows travis to deploy the generate zip files and
npm packages in addition to the build output.  Each package
gets a unique name based on branch name and build number.
Also updated deployment step not to delete these packages so that
they can be depended on until the branch is merged.
2016-03-28 10:05:10 -04:00
ggetz 407282a822 Set status of deployment 2016-03-25 13:58:37 -04:00
ggetz d35488531b Always deploy 2016-03-25 13:38:36 -04:00
ggetz 76648dab98 removed console log fold 2016-03-24 11:04:10 -04:00
ggetz 8076577529 Deploy on after_success step 2016-03-24 10:02:32 -04:00
ggetz f5b9a160d9 Fixed typo 2016-03-23 14:10:34 -04:00
ggetz 39415dfce0 Run deploy script as part of travis 2016-03-23 13:50:39 -04:00
Matthew Amato 06bc0ab3b7 Merge pull request #3715 from ggetz/upload-cesium
Port CesiumUpload Tool to Node
2016-03-23 13:14:28 -04:00
Matthew Amato 2e852a87e6 Fix jsHint CI
The travis command was missing `--` which was causing it to not fail
in the event of an error.  This also means we let a couple of warnings
slip into master (which I have also fixed).
2016-03-21 16:40:28 -04:00
ggetz 761e491be1 Upload cesium to s3 2016-03-16 17:44:54 -04:00
ggetz 694ae7c62e Updated .travis.yml with deploy step 2016-03-09 10:58:45 -05:00
Matthew Amato 5cdc2cd3fd Speed up build process
1. Running travis under node 4.3.x gives a decent improvement over 0.12.
2. Move `cloc` to the end of the build since it's the least important.
3. Take advantage of multiple cores for combine/minification

Number 3 reduced `makeZipFile` times on my machine from 5:40 to 2:30,
performance increases has transferred to travis as well.  Because
travis reports 32 cores and trying to use them all results in
travis killing the build, I put in a hardcoded limit of 8 for now.

My approach is a little hacky (I exec a seprate gulp task passing a base64
encoded string on the command line), but I couldn't determine a better
way to handle it with gulp because there's no programmatic way to spawn
a task (I think this is being fixed in gulp 4, so we'll revisit when that
comes out).
2016-03-03 18:00:26 -05:00
Matthew Amato c322ecc065 Travis and build improvements
1. Run non-webgl tests as part of travis using Electron.  They run in both
module and release form.

2. Run cloc as part of the build process

3. jsHint no longer fails the gulp task when you run `npm run jsHint`,
since that behavior was really annoying.  It still fails under travis or
when passed the `--failTaskOnError` option.

4. Improve log output by using travis folding commands. Each part of the
build is now collapsed into its own section.

5. Added `--suppressPassed` option to avoid showing passed tests in output.
Our travis log got too big and travis refused to show it (even with the
folding) unless you looked at raw test.
2016-03-02 10:45:49 -05:00
Matthew Amato acb1798dc6 Fix travis timeout
Apparently #3430 is still an issue and the travis_wait command added as
part of #3432 does not work as advertised. To address the issue once and
for all, I turned up the loglevel on requirejs so that it always outputs
progress to the build log (this was actually requested by @shunter and
a few others after the logging went away when we moved to gulp anyway).

Long story short we should finally stop seeing travis timeouts.

I also make jsHint run as a separate step and instead of `release` we
run `makeZipFile` to be sure the entire build process works.  If
`makeZipFile` were to error, the previous configuration wouldn't have
caught it.
2016-02-08 18:31:43 -05:00
Thomas Pedbereznak 75f92c5b59 Removed install line 2016-01-14 17:09:59 -05:00
Thomas Pedbereznak 3949f819f5 Fixed travis timeout problem 2016-01-14 17:08:58 -05:00
Matthew Amato 86b7a49568 Fix Travis, update .jshintrc, remove a ton of junk.
So it turns out that jsHint no longer works on Node 0.10.x, which is
ancient anyway.  So I updated Travis to use 0.12.x.  I then decided to
update our .jshintrc to take advantage of the latest JSHint features and
that produced a TON of new (perfectly valid) errors about unused variables,
empty code blocks, and unused defined globals, which I have now cleaned up.
This also uncovered a bunch of other stuff that I also fixed.

In summary:

1. Update travis to use Node 0.12.x
2. Update .jshintrc to take advantage of new features
3. Fix bad code pointed out by said features
4. Remove all uneeded `jasmine` globals in spec files
5. Generate a `Specs` specific .jshintrc as part of the build which enables jasmine mode in jshint
6. Move `QuadtreePrimitive` to Development Sandcastle gallery.
7. Update NPM modules to latest versions.
8. Lock NPM modules to specific versions to avoid untested updates in the future.
9. Ran `sortRequires`
2015-11-13 01:11:20 -05:00
Matthew Amato a1406897fa Fix Node 0.10 support
Go back to using it for Travis.
Also fix an issue causing makeZipFile to have incomplete data on Linux.
2015-10-18 13:48:20 -04:00
Matthew Amato 7e08a7b2a7 Initial port of build process to gulp
1. Move all build related code to gulpfile.js
2. Add `npm` scripts for all gulp tasks so no one needs to install gulp globally.
3. Added new `jshint-watch` task for continually running jsHint on changed files and writing the results to the console.
2015-10-16 17:30:14 -04:00
Frederic Junod 706f8a5bae Use travis container-based infrastructure
See http://docs.travis-ci.com/user/migrating-from-legacy/
2015-08-11 16:20:56 +02:00
Caleb Morse ccc683ad20 Merged jsHint and release into one command 2013-07-01 13:33:10 -06:00
Caleb Morse 0254f7becb Fixed typo 2013-07-01 13:27:02 -06:00
Caleb Morse f1e3e52b80 Updated to node 0.10 and added jsHint 2013-07-01 13:24:50 -06:00
Caleb Morse 05d06dc6ce Trying script instead of install 2013-07-01 09:21:58 -06:00
Caleb Morse 79419dbe2b Wrong node path 2013-06-28 18:43:30 -06:00
Caleb Morse 3ce5417db3 Trying to get it working 2013-06-28 18:41:58 -06:00
Caleb Morse 05972d425b Trying out travis-ci 2013-06-28 18:27:24 -06:00