git clone git@github.com:web-animations/web-animations-next.git
git submodule update --init --recursive
(Necessary for running tests.)npm
is in your $PATHnpm install
in the respository to pull in development dependencies.npm install -g grunt grunt-cli
to get the build tools for the command line.grunt
to build the polyfill.grunt test
to run polyfill and web-platform-tests tests.You can run the tests in an interactive mode with grunt debug
. This starts the Karma server once for each polyfill target for each test framework. Navigate to http://localhost:9876/debug.html
to open the test runner in your browser of choice, all test results appear in the Javascript console. Test failures can be accessed via window.failures
and window.formattedFailures
once the tests have completed.
The polyfill target and tests can be specified as arguments to the debug
task.
Example: grunt debug:web-animations-next:test/web-platform-tests/web-animations/animation/pause.html
Multiple test files may be listed with comma separation. Specifying files will output their URL in the command line.
Example: http://localhost:9876/base/test/web-platform-tests/web-animations/animation/pause.html
Determine the version number for the release
Add versioned release notes to History.md
, for example:
### 3.13.37 — *November 1, 2001* * Fixed a bug where nothing worked
Use the following to generate a summary of commits, but edit the list to contain only relevant information.
git log --first-parent `git describe --tags --abbrev=0 web-animations-js/master`..web-animations-next/master --pretty=format:" * %s"
Specify the new version inside package.json
(for NPM), for example:
"version": "3.13.37",
Build the polyfill with npm install && grunt
then update README.md
's Build Target Comparison with the current gzipped sizes.
Submit both changes to web-animations-next then follow the procedure to push from web-animations-next to web-animations-js.
Draft a new release at the commit pushed to web-animations-js in step #4. Copy the release notes from History.md
added in step #2.
Once you've pushed to web-animations-js, run npm publish
from that checked-out folder
To do this, you'll need to be a collaborator on the NPM project, or have a collaborator help you.
If there are any breaking changes to the API in this release you must notify web-animations-changes@googlegroups.com.
Only owners of the group may post to it so you may need to request ownership or ask someone to post it for you.
git fetch web-animations-next git fetch web-animations-js git checkout web-animations-js/master git merge web-animations-next/master --no-edit --quiet npm install grunt # Optional "grunt test" to make sure everything still passes. git add -f *.min.js* git rm .gitignore git commit -m 'Add build artifacts from '`cat .git/refs/remotes/web-animations-next/master` git push web-animations-js HEAD:refs/heads/master
This is an overview of what happens when grunt test
is run.