{"push_id":1381816809,"size":1,"distinct_size":1,"ref":"refs/heads/sentry-uploads","head":"64672369d8220db6ca8e14dd8bc2efb7286b7b1b","before":"18a078140d7604011fa7cfc26dc47b7cf4deb4c4","commits":[{"sha":"64672369d8220db6ca8e14dd8bc2efb7286b7b1b","author":{"name":"Phil Aquilina","email":"9e5380c23b28b93deaae0bcb9f4c7f8877236313@gmail.com"},"message":"Sentry release uploads\n\nFeature:\nThis adds Sentry uploads to our build step. These uploads are compiled\njs files and their sourcemaps. Note, this doesn't do any of the Sentry\nconfiguration or error handling for the project. This simply uploads the\nneeded files for readable stacktraces ahead of the actual exception.\n\nHow this works:\n1. Sentry has a notion of \"releases\", which is just a collection of the\ncompiled js files and their maps. This uses the git sha of the project's\nHEAD to generate the release version and will fall back to a random\nalphanumeric if that's not available.\n2. We tell Sentry to create a new release based off our generated\nrelease version.\n3. We then upload our files to that release.\n4. We add the release version to webpack's config for future\nsubstitution into the project's codebase, where it will be used for\nconfiguration.\n\nAdditional Details:\n- Right now this only works for production client code. This leaves out\n  backend and dev code. We can add backend in a future patch.\n- This requires an env variable, `SENTRY_KEY`, to be set. This acts as\n  an auth token for requests to the sentry backend.\n- I've made our default webpack config files export functions instead of\n  objects. This was done to make it straightforward to add the release\n  version to the webpack config but it has the added benefit of making\n  other future changes simpler. This was a conscious decision to not use\n  a merging type strategy b/c merging is cumbersome and feels less\n  obvious.","distinct":true,"url":"https://api.github.com/repos/phil303/node-build/commits/64672369d8220db6ca8e14dd8bc2efb7286b7b1b"}]}
{"actor":{"display_login":"phil303"}}