mirror of
https://github.com/jlfwong/speedscope.git
synced 2024-10-06 23:27:34 +03:00
8dad28e5e2
The publish, deploy, and release process is annoying enough at the moment that I avoid doing it frequently. Let's automate most of it to reduce the friction
48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
This document describes processes needed by admins of this repository.
|
|
|
|
At time of writing, deployment assumes you're running macOS. It probably
|
|
works if you're on a linux, and almost definitely does not work on Windows.
|
|
|
|
## Test the release
|
|
|
|
Speedscope is tested in CI, so all the automated tests should be passing. We'll
|
|
just be doing a few sanity checks to make sure the build & deployment machinery is working correctly.
|
|
|
|
scripts/prepare-test-installation.sh
|
|
|
|
This will do a mock publish & installation to ensure that the version we're about to publish is going to
|
|
work. At the end of this command, it should echo a `cd` command to run in your shell
|
|
to switch to the installation directory. Something like this:
|
|
|
|
```
|
|
Run the following command to switch into the test directory
|
|
cd /var/folders/l0/qtd9z14973s2tw81vmzwkyp00000gp/T/speedscope-test-installation.9Ssdd2PZ/package
|
|
```
|
|
|
|
Run this command, to switch to the test directory.
|
|
|
|
Inside of here, run `bin/cli.js`. This should open a copy of speedscope in browser.
|
|
Try importing a profile from disk via the browse button and make sure it works.
|
|
|
|
Next, try running `bin/cli.js dist/release/perf-vertx*`. This should immediately open
|
|
speedscope in browser, and the perf-vertx file should load immediately.
|
|
|
|
## Create & publish the new release
|
|
|
|
Ensure you have the Github CLI tools installed and you're authenticated. Try running the following if you're unsure:
|
|
|
|
gh auth status
|
|
npm whoami
|
|
|
|
Once ready to publish, run:
|
|
|
|
scripts/publish-and-deploy.sh
|
|
|
|
## Verifying the release
|
|
|
|
To verify that the npm publish was successful, run `npm install -g speedscope`.
|
|
Try `speedscope`, which should open speedscope in browser.
|
|
Try `speedscope sample/profiles/stackcollapse/simple.txt`, which should immediately load the profile.
|
|
|
|
To verify the website has finished deploying, check the version number shown in the console of https://www.speedscope.app/
|