Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.0.0 Release #1406

Closed
17 of 19 tasks
dignifiedquire opened this issue May 16, 2015 · 34 comments
Closed
17 of 19 tasks

1.0.0 Release #1406

dignifiedquire opened this issue May 16, 2015 · 34 comments

Comments

@dignifiedquire
Copy link
Member

dignifiedquire commented May 16, 2015

There were some notes, and plans about a 1.0 release. I want to use this issue for any discussion and plans around it and start a complete list of tasks to do before we can release.

There is this google doc that was started by @vojtajina and there was #944, which I will close in favor of this issue.

Below is an incomplete list of things that need doing in my opinion.

Organizational

Improvements

Bugs

See the 1.0 Milestone

// cc @zzo @maksimr

Update: I updated the milestone to reflect relevant issues for this.
Update2: Reorganize

@zzo
Copy link
Contributor

zzo commented May 16, 2015

Looks good - want to add fixing the mary-poppins auto-release process.
Mark

On Sat, May 16, 2015 at 9:26 AM, Friedel Ziegelmayer <
notifications@github.com> wrote:

There were some notes, and plans about a 1.0 release. I want to use this
issue for any discussion and plans around it and start a complete list of
tasks to do before we can release.

There is this google doc
https://docs.google.com/document/d/1XMg9CYTsu8NIGBFyXtQS8q0KaWdvldhjLsIcEBOitjo/edit?usp=sharing
that was started by @vojtajina https://github.com/vojtajina and there
was #944 #944, which I will
close in favor of this issue.

Below is an incomplete list of things that need doing in my opinion.

  • Update Socket.io to the latest version (PR Upgrade to Socket io 1.3 #1404
    Upgrade to Socket io 1.3 #1404)
  • Clean up issue list (close outdated issues, respond to recent
    issues, and figure out which bugs are important enough to be fixed before
    release)
  • Check for any api changes that need to be done before hand
  • Update all dependencies to their latest versions
  • Update all dev dependencies to their latest versions
  • Quality review the documentation
  • Bring all frameworks and launchers to a 1.0.0 ready state.

// cc @zzo https://github.com/zzo @maksimr https://github.com/maksimr


Reply to this email directly or view it on GitHub
#1406.

@dignifiedquire
Copy link
Member Author

@zzo added. Ping me when you have some time I'm happy to help getting this fixed and running (also probably good to have > 1 person being able to check it when there is ab issue)

@dignifiedquire
Copy link
Member Author

@zzo Cleaned up the cruft on canary and remove iojs-1 from travis. Will do the version bump on canary later

@zzo
Copy link
Contributor

zzo commented May 20, 2015

great i just updated the docs on master to mention only iojs 2.x 1b69db1 and updated the docs on canary to be .10, .12 and iojs 2.x only 38eb63d

@dignifiedquire
Copy link
Member Author

@zzo I built the latest docs, you can check them out here

@zzo
Copy link
Contributor

zzo commented May 20, 2015

Great what is the process for doing that? thanks

On Wed, May 20, 2015 at 9:24 AM, Friedel Ziegelmayer <
notifications@github.com> wrote:

@zzo https://github.com/zzo I built the latest docs, you can check them
out here http://karma-runner.github.io/0.12/index.html


Reply to this email directly or view it on GitHub
#1406 (comment)
.

@dignifiedquire
Copy link
Member Author

You need this setup and then run https://github.com/karma-runner/karma-runner.github.com/blob/master/sync-docs.sh which makes a couple of assumptions that you should check before hand (I need to get this documented properly..)

On another note I've started with the work for publishing 1.0.0-0 as the the new canary version and I found some issues with the current system. I suggest we move to the following structure:

  • Everything gets merged into master
  • If we have a feat or fix we publish a new prerelease version from master (automated)
  • We have a stable branch which points to the latest stable release, e.g. right now 0.12.31, and we only release new versions of that if we have critical fixes that we manually cherry-pick from master into there. (manually)

I feel that this approach would involve a lot less magic and make things easier to understand, to follow (as an outsider) and to maintain (for us). What do you think?

@dignifiedquire
Copy link
Member Author

Most important part, I forgot when to release new "feature" versions: We take a fixed cycle, e.g. every 4 weeks we release a new stable version, bumping version numbers according to semver and the commits.

@dignifiedquire
Copy link
Member Author

@zzo Okay, ignore most of the above, trying to put this into a more understandable and complete form:

Suggested release cycle/process:

Types of Releases

  • canary, e.g. 1.0.0-pre.1
  • beta, e.g. 1.0.0-beta.1
  • stable, e.g. 1.0.0 (increase minor version if no breaking changes, major version if breaking changes)

Release Cycle

Chrome style:

  • Canary, on each feat or fix merge
  • Beta every week
  • Stable every 6 weeks (so five beta versions and then one stable release)

Git Management

  • master -> all development (reflect canary status)
  • beta -> reflects latest beta
  • stable -> reflects latest stable
  • everything else is a git tag

Does that make sense to you? What does everyone else think?

// cc @karma-runner/contributors

@lygstate
Copy link

iojs still not supported

@lygstate
Copy link

The master doesn't build with nodejs 2.1.0 because of socket.io.

@dignifiedquire
Copy link
Member Author

@zzo I've given up @karmarunnerbot for now and do the releases manually..

@zzo
Copy link
Contributor

zzo commented May 29, 2015

What's been happening? Bad npm credentials still?

On Fri, May 29, 2015 at 11:12 AM, Friedel Ziegelmayer <
notifications@github.com> wrote:

@zzo https://github.com/zzo I've given up @karmarunnerbot
https://github.com/karmarunnerbot for now and do the releases
manually..


Reply to this email directly or view it on GitHub
#1406 (comment)
.

@dignifiedquire
Copy link
Member Author

No idea :( just not happening anything after it gets send to presubmit, and additionally travis takes > 6h at the moment to process our builds...

@dignifiedquire
Copy link
Member Author

(just merged the stuff that was piling up manually, and will do a release in the next hour or two out of it)

@dignifiedquire
Copy link
Member Author

@zzo going to actually do this :)

@zzo
Copy link
Contributor

zzo commented Mar 23, 2016

what could go wrong :) what about getting to 1.0 on frameworks & launchers?

@dignifiedquire
Copy link
Member Author

Will bump them one by one over the next weeks as I get to it.

@zzo
Copy link
Contributor

zzo commented Mar 23, 2016

we can split the list and I can do some as well

@dignifiedquire
Copy link
Member Author

That'd be great, let's get a list in here with checkmarks

@dignifiedquire
Copy link
Member Author

We need to remember to bump the karma dependency to allow for 1.0 when updating them

@zzo
Copy link
Contributor

zzo commented Mar 23, 2016

sounds good - yep

@zzo
Copy link
Contributor

zzo commented Mar 23, 2016

Think this is everything - maybe even too much:

  • karma-chrome-launcher
  • karma-mocha
  • karma-junit-reporter
  • grunt-karma
  • karma-sauce-launcher
  • karma-html2js-preprocessor
  • karma-requirejs
  • karma-teamcity-reporter
  • karma-jasmine
  • karma-ie-launcher
  • karma-intellij
  • karma-coverage
  • karma-script-launcher
  • karma-slimerjs-launcher
  • XXX gulp-karma XXX do not have perms to publish to npm (tests fail on travis but successful locally)
  • karma-browserstack-launcher
  • karma-phantomjs-launcher
  • karma-ng-html2js-preprocessor
  • XXX karma-runner.github.com XXX the website :) not updating
  • karma-firefox-launcher
  • XXX karma-dojo XXX do not have perms to publish to npm - updated on github
  • karma-commonjs
  • XXX karma-testingbot-launcher XXX do not have perms to publish to npm - updated on github
  • karma-qunit
  • karma-cli
  • XXX karma-ember-preprocessor XXX already at 1.x
  • XXX karma-googmodule-preprocessor XXX do not have perms to publish to npm - updated on github
  • karma-growl-reporter
  • karma-coffee-preprocessor
  • karma-traceur-preprocessor
  • XXX karma-webdriver-launcher XXX already at 1.x
  • karma-ng-scenario TRAVIS FAILED check it out https://travis-ci.org/karma-runner/karma-ng-scenario/jobs/127696499
  • integration-tests
  • karma-opera-launcher
  • karma-dart
  • karma-safari-launcher
  • maven-karma-plugin
  • shared-karma-files
  • karma-nodeunit
  • test-device-manager
  • karma-tyrtle

@zzo
Copy link
Contributor

zzo commented Mar 23, 2016

actually there are other karma repos not owned by karma-runner which will probably need to be updated too - these are just the ones owned by karma-runner

@zzo
Copy link
Contributor

zzo commented Mar 28, 2016

here is script I want to use to bump version numbers of packages:

#!/bin/bash
# Use like:  $0 karma-mocha
URL=https://github.com/karma-runner/$1.git
git clone $URL
cd $1
npm install
git remote add upstream $URL
node ../updater.js $1
git commit -a -m 'version bump for 1.0'
git push origin master
grunt release

'updater.js' reads package.json - moves the version number to '1.0.0' and changes all 'dependencies' and 'devDependencies' with the word 'karma' from something like '~0.2.4' to '1.x || ~0.2.4' (ignoring any git url deps like ' "shared-karma-files": "git://github.com/karma-runner/shared-karma-files.git#82ae8d02")

What do you think?

Here's 'updater.js':

var fs = require('fs');
var pjson = JSON.parse(fs.readFileSync('package.json', 'utf8'));
pjson.version = '1.0.0';
pjson = doDeps(pjson, 'dependencies')
pjson = doDeps(pjson, 'devDependencies')
fs.writeFileSync('package.json', JSON.stringify(pjson, null, '  '));

function doDeps(pjson, hashKey) {
  if (pjson[hashKey]) {
    Object.keys(pjson[hashKey]).forEach(function(key) {
      if (key.match(/karma/) && !pjson[hashKey][key].match(/^git/)) {
        pjson[hashKey][key] = '1.x || ' + pjson[hashKey][key];
      }
    });
  }
  return pjson;
}

@zzo
Copy link
Contributor

zzo commented Mar 28, 2016

and then once everything is at 1.0 we can go back and remove the '|| ' part

@zzo
Copy link
Contributor

zzo commented May 2, 2016

just ran it on karma-mocha - looks good - will start all the other ones now

@dignifiedquire
Copy link
Member Author

@zzo thanks for getting this started, I didn't have the time for this as I hoped. There is one issue I saw with your releases, that is that you are releasing 1.0.1 and skipping 1.0.0 is that on purpose?

@zzo
Copy link
Contributor

zzo commented May 3, 2016

ya that is NOT intended not sure why that is happening - I'll fix before moving on

@zzo
Copy link
Contributor

zzo commented May 3, 2016

ya ok figured it out (but not after accidentally publishing a 2.0 release of karma-junit-reporter which I have fixed :) carrying on...

@zzo
Copy link
Contributor

zzo commented May 4, 2016

ok all of the plugins are updated to 1.0.0 (or 1.0.1 :))
Last thing on the list is clean up issues

@dignifiedquire
Copy link
Member Author

It's done :)

@zzo
Copy link
Contributor

zzo commented Jun 23, 2016

PROFIT!

@zzo
Copy link
Contributor

zzo commented Jun 23, 2016

do need to mention we can now go back and clean up module deps that have the '1.0 || xxxx' syntax - this can be done as plugins &c actually need to be updated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants