Skip to content
This repository has been archived by the owner on Feb 12, 2022. It is now read-only.

Commit

Permalink
Merge pull request #1873 from cormacmccarthy/master
Browse files Browse the repository at this point in the history
updating travis-ci scripts and node requirements
  • Loading branch information
Christopher McCulloh authored Sep 23, 2016
2 parents 014557c + a6b27e1 commit 8985bc3
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 47 deletions.
8 changes: 2 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,8 @@ language: node_js
node_js:
- 5.8
sudo: false
before_install:
- time wget http://fuelux-edge.herokuapp.com/dev/node_modules.tar.gz
- time tar -zxf node_modules.tar.gz
- chmod +x ./node_modules
install:
- time npm update
- time npm install
- time ./node_modules/bower/bin/bower update
env:
global:
Expand All @@ -20,4 +16,4 @@ env:
sHZL3GDo5ujm/pPvrKv41BGi81rPPLMnQyGdmTDRgW5/F5BaKbKoOvK8opuP
+M1cvJ2Cq14pEK6y2OMAooY2TY4p8MynxsqoKUGOYjmKXsLp1ZE=
matrix:
fast_finish: true
fast_finish: true
13 changes: 5 additions & 8 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ module.exports = function (grunt) {

/*
* Welcome to our GruntFile.js!
* Configuration tasks (initConfig) are external JS modules that can be found in
* `./grunt/config`. Additional custom tasks can be found in `./grunt/task`.
* The "shared variables" belowcannot use grunt.config(),
* Configuration tasks (initConfig) are external JS modules that can be found in
* `./grunt/config`. Additional custom tasks can be found in `./grunt/task`.
* The "shared variables" belowcannot use grunt.config(),
* since it has not been initialized yet, until grunt.initConfig() is executed.
*/

Expand Down Expand Up @@ -37,7 +37,7 @@ module.exports = function (grunt) {
scope: 'devDependencies'
},
data: {
// Variables shared across configuration tasks, use templates, <%= %>, to access
// Variables shared across configuration tasks, use templates, <%= %>, to access
// within configuration tasks
bannerRelease: '/*!\n' +
' * Fuel UX v<%= pkg.version %> \n' +
Expand All @@ -54,11 +54,8 @@ module.exports = function (grunt) {
bootstrapCheck: 'if (typeof jQuery.fn.dropdown === \'undefined\' || typeof jQuery.fn.collapse === \'undefined\') ' +
'{ throw new Error(\'Fuel UX\\\'s JavaScript requires Bootstrap\') }\n\n',
pkg: getPackage(),
// Try ENV variables (export SAUCE_ACCESS_KEY=XXXX), if key doesn't exist, try key file
sauceLoginFile: grunt.file.exists('SAUCE_API_KEY.yml') ? grunt.file.readYAML('SAUCE_API_KEY.yml') : undefined,
cdnLoginFile: grunt.file.exists('FUEL_CDN.yml') ? grunt.file.readYAML('FUEL_CDN.yml') : undefined,
sauceUser: process.env.SAUCE_USERNAME || 'fuelux',
sauceKey: process.env.SAUCE_ACCESS_KEY ? process.env.SAUCE_ACCESS_KEY : '<%= sauceLoginFile.key %>',
// TEST URLS
allTestUrls: ['2.1.0', '1.11.0', '1.9.1', 'browserGlobals', 'noMoment', 'codeCoverage' ].map(function (type) {
if (type === 'browserGlobals') {
Expand All @@ -84,5 +81,5 @@ module.exports = function (grunt) {

// load custom build, release, serve, and test tasks from the folder specified
grunt.loadTasks('./grunt/tasks');

};
23 changes: 13 additions & 10 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ You will need to authorize your machine to do npm publishing using `npm adduser`
- [ ] `npm install`
- [ ] `grunt test`
- [ ] `grunt saucelabs` Best to find out if they pass or not now as opposed to in the middle of a release.
* **WILL NOT WORK ON VPN**
* If some environments fail, you can comment out the passing environments temporarily in `sauce_browsers.yml` while you debug
* If some environments fail, start your server with `grunt servefast` and use Browserstack to investigate.
- [ ] Generate test distribution package for use on the Fuel UX Site
Expand All @@ -41,7 +42,9 @@ You will need to authorize your machine to do npm publishing using `npm adduser`
- [ ] 1b. Assign any remaining open tickets to the milestone you just created (or, if appropriate, assign them to the backlog).
- [ ] 1c. Mark the current release milestone as closed.

- [ ] 2. `grunt release`
- [ ] 2. Log off of VPN (or saucelabs will probably fail)

- [ ] 3. `grunt release`
This grunt task:
* Creates a new release branch from remote master.
* Builds dist.
Expand All @@ -55,21 +58,21 @@ You will need to authorize your machine to do npm publishing using `npm adduser`
* Pushes 3.x to master if nothing new has been merged in.
* Runs `npm publish` using the fuelux profile
* (with prompt) Runs Ruby Gem described below for Release Notes.
- [ ] 3. Create Release Notes for release and publish
- [ ] 4. Create Release Notes for release and publish
![Draft release, copy/paste output from Ruby Gem, Publish](http://i.imgur.com/WQHN3Y6.gif)
- [ ] 4. Update getfuelux.com
- [ ] 5. Update getfuelux.com
- [ ] 4a. Checkout the `gh-pages` branch.
- [ ] 4b. Run `bower update`.
- [ ] 4c. Commit
- [ ] 4d. Push to `upstream`.

- [ ] 5. Update Fuel UX Site
- [ ] 6. [Update MC Theme] (https://github.com/ExactTarget/fuelux-mctheme/wiki/How-to-release-a-new-version)
- [ ] 7. Update Rucksack
- [ ] 8. Update Fusion
- [ ] 9. Announce
- [ ] 9a. Tweet via @FuelUX account
- [ ] 9b. Post to Chatter in the Fuel UX Group
- [ ] 6. Update Fuel UX Site
- [ ] 7. [Update MC Theme] (https://github.com/ExactTarget/fuelux-mctheme/wiki/How-to-release-a-new-version)
- [ ] 8. Update Rucksack
- [ ] 9. Update Fusion
- [ ] 10. Announce
- [ ] 10a. Tweet via @FuelUX account
- [ ] 10b. Post to Chatter in the Fuel UX Group

## Generate Release Notes

Expand Down
5 changes: 4 additions & 1 deletion grunt/config/saucelabs-qunit.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@ module.exports = function (grunt) {
return grunt.file.readJSON('./package.json');
}

// Try ENV variables (export SAUCE_ACCESS_KEY=XXXX), if key doesn't exist, try key file
var sauceKey = process.env.SAUCE_ACCESS_KEY ? process.env.SAUCE_ACCESS_KEY : grunt.file.exists('SAUCE_API_KEY.yml') ? grunt.file.readYAML('SAUCE_API_KEY.yml').key : undefined;

// https://github.com/axemclion/grunt-saucelabs/issues/215
var getSaucekey = function getSaucekey () {
return grunt.file.readYAML('SAUCE_API_KEY.yml').key;
return sauceKey;
};

return {
Expand Down
23 changes: 9 additions & 14 deletions grunt/tasks/test.js
Original file line number Diff line number Diff line change
@@ -1,37 +1,32 @@
module.exports = function(grunt) {

/* -------------
TESTS
------------- */

module.exports = function test (grunt) {
// to be run prior to submitting a PR
grunt.registerTask('test', 'run jshint, qunit source w/ coverage, and validate HTML',
['jshint', 'connect:testServer', 'blanket_qunit:source', 'qunit:noMoment', 'qunit:globals', 'htmllint']);

//If qunit:source is working but qunit:full is breaking, check to see if the dist broke the code. This would be especially useful if we start mangling our code, but, is 99.99% unlikely right now
// If qunit:source is working but qunit:full is breaking, check to see if the dist broke the code. This would be especially useful if we start mangling our code, but, is 99.99% unlikely right now
grunt.registerTask('validate-dist', 'run qunit:source, dist, and then qunit:full',
['connect:testServer', 'qunit:source', 'dist', 'browserify:commonjs', 'qunit:dist']);

// multiple jQuery versions, then run SauceLabs VMs
grunt.registerTask('releasetest', 'run jshint, build dist, all source tests, validation, and qunit on SauceLabs',
['test', 'dist', 'browserify:commonjs', 'qunit:dist', 'saucelabs-qunit:defaultBrowsers']);

// can be run locally instead of through TravisCI, but requires the Fuel UX Saucelabs API key file which is not public at this time.
// Due to TravisCI security concerns, Saucelabs can not be run for PRs from forks. Therefore, it can not become part of our PR process.
// https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
// can be run locally instead. Requires the Fuel UX Saucelabs API key file.
grunt.registerTask('saucelabs', 'run jshint, and qunit on saucelabs',
['connect:testServer', 'jshint', 'saucelabs-qunit:defaultBrowsers']);

// Travis CI task. This task no longer uses SauceLabs. Please run 'grunt saucelabs' manually.
grunt.registerTask('travisci', 'Tests to run when in Travis CI environment',
['test', 'dist', 'browserify:commonjs', 'qunit:dist']);

// if you've already accidentally added your files for commit, this will at least unstage them. If you haven't, this will wipe them out.
grunt.registerTask('resetdist', 'resets changes to dist to keep them from being checked in', function () {
//default resetdist to true... basically.
if (typeof grunt.option('resetdist') === "undefined" || grunt.option('resetdist')) {
grunt.registerTask('resetdist', 'resets changes to dist to keep them from being checked in', function resetdist () {
// default resetdist to true... basically.
if (typeof grunt.option('resetdist') === 'undefined' || grunt.option('resetdist')) {
var exec = require('child_process').exec;
exec('git reset HEAD dist/*');
exec('git checkout -- dist/*');
}
});

};
};
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
"serve-static": "1.11.1"
},
"engines": {
"node": "4.4.x"
"node": "5.8.x"
},
"homepage": "https://github.com/ExactTarget/fuelux",
"keywords": [
Expand Down
10 changes: 3 additions & 7 deletions sauce_browsers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,13 @@

# If you are having trouble with a particular test, you can comment the others out to test just it

{
browserName: "safari",
platform: "OS X 10.9"
},
{
browserName: "chrome",
platform: "OS X 10.9"
platform: "OS X 10.11"
},
{
browserName: "firefox",
platform: "OS X 10.9"
platform: "OS X 10.11"
},

# Mac Opera not currently supported by Sauce Labs
Expand Down Expand Up @@ -49,7 +45,7 @@

{
browserName: "iphone",
platform: "OS X 10.9",
platform: "OS X 10.11",
version: "7.1"
},

Expand Down

0 comments on commit 8985bc3

Please sign in to comment.