Skip to content

Release checklist

Patrycja Radaczyńska edited this page Oct 24, 2018 · 3 revisions

Checklist for project owners releasing new version of html-sketchapp:

  1. Merge all approved PRs
  2. Make sure all public API changes are reflected in they typescript definition files
    • [hot tip!] Public API is defined by index.js file, any changes to this file or methods, arguments of classes and functions it points to are considered "public API changes"
    • [hot tip!] TypeScript definition files are located in the /typings folder
  3. Update html-sketchapp version in package.json and run npm i to update version in package-lock.json
    • [hot tip!] We follow SemVer. If your release breaks public API in any way (e.g. removed method, renamed class, different default parameters for method, new required parameters) be sure to bump first number. If your release only extends public API and improves support then bump second number. Finally, if your release only fixes a bug w/o any API changes or introducing new features bump the last number.
  4. Run html-sketchapp tests (npm test) and make sure they pass
  5. Update Sketch to latest version
  6. Build the plugin (npm run build) install it in Sketch
    • make sure it shows correct version ()!
  7. Test everything. Some ideas:
    • try importing old .asketch.json files and see if they work
    • try importing .asketch.json files form e2e/valid folder (they can be generated using npm run e2e-debug)
    • hook up master version of html-skechapp to https://github.com/brainly/html-sketchapp-example and generate .asketch.json files from some websites and import them to Sketch - see if there are any unexpected issues
  8. Create new release
    1. Go to https://github.com/brainly/html-sketchapp/releases
    2. Hit "Draft a new release"
    3. Create a new tag using top-left select (tag should follow "vX.X.X" format)
    4. Name the release (usually "vX.X.X", but feel free to add some additional info) ()
    5. Review all changes made in this release by opening previous release and clicking on "x commits since this release" link ()
    6. Write down all changes in three sections (skip empty sections):
      • "Breaking" (list of breaking changes with explanation how people should update their code),
      • "Improvements" (list of all new stuff - bigger changes should be on the top, screenshots encouraged!),
      • "Fixes" (bug fixes).
    7. Make sure to credit all contributors ("New Feature X by @someperson")
    8. Compress latest version of the plugin using ZIP and name the file "asketch2sketch-X-X-X.sketchplugin.zip" (replace X's with major, minor and patch version number of new release)
    9. Attach zipped plugin file to the release ()
    10. Publish the release (don't worry it's editable)
  9. Publish release to NPM - npm publish from the newest master.
    • If you are doing it for the first time, you may need to ask someone to add you to the @brainly organization on npm.
  10. Tweet about it!
    • remember to mention all contributors using their twitter handles
Clone this wiki locally