{"push_id":1882742662,"size":12,"distinct_size":0,"ref":"refs/heads/deployed-to-production","head":"89c5e290233559adb2c01642409d7954abc709c5","before":"507e51463d63bcd27ce85701966af7e07e0e4ae1","commits":[{"sha":"9e6615030f9f6656ddb0c7aad64ac3677d7561f7","author":{"name":"Chris Lowis","email":"16773d64d16306a118f94167139f1f8aaf3bbac5@gmail.com"},"message":"Upgrade Ruby 2.2.3 -> 2.3.1","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/9e6615030f9f6656ddb0c7aad64ac3677d7561f7"},{"sha":"9a52979bfff547f935651cdd29042a2f78912406","author":{"name":"Chris Lowis","email":"16773d64d16306a118f94167139f1f8aaf3bbac5@gmail.com"},"message":"Merge pull request #83 from alphagov/upgrade-ruby-to-2-3-1\n\nUpgrade Ruby 2.2.3 -> 2.3.1","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/9a52979bfff547f935651cdd29042a2f78912406"},{"sha":"750c4d870819f8f4ce1d68848085e033ff4df077","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Add blank lines to some specs to improve readability","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/750c4d870819f8f4ce1d68848085e033ff4df077"},{"sha":"b907140b71fe4fcb80428982f1d29111c3e566a8","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Use have_http_status matcher & status code symbols\n\nTo make controller & request specs more expressive. Also:\n\n* Reworded some example names to make them more consistent.\n* `be_successful` -> `be_success` for consistency.\n* In one example: `be_success` -> `have_http_status(:success)` to\ncontrast with example immediately preceding it.","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/b907140b71fe4fcb80428982f1d29111c3e566a8"},{"sha":"7e061d7901e67a82c3c639f84a8f46d2e5cad7bf","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Extract AWS_S3_BUCKET_NAME env var into app config\n\nSo it's easier to stub.\n\nUnfortunately I've had to disable a Rubocop rule around one line. This\nviolation is due to the digit `3` in the variable name. It looks as if\nthe constraints for this rule have been relaxed [1] in Rubocop v0.44.0,\nbut we're currently using v0.43.0 and upgrading means first upgrading\nthe constraints on the Rubocop version in the specification for the\n`govuk-lint` gem and then upgrading that gem in this project. I'm\ngoing to do that separately and I'll make a note to remove this\ndisabling of the rule when I do that.\n\n[1]: bbatsov/rubocop@833aad6ccb35a16c6196830e936f4ef34384590b","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/7e061d7901e67a82c3c639f84a8f46d2e5cad7bf"},{"sha":"b8b79f52cfd9bfd024c9beada87158fbf1aa2ad3","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Extract MediaController#stream_from_s3? method\n\nTo make the code more readable.","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/b8b79f52cfd9bfd024c9beada87158fbf1aa2ad3"},{"sha":"8cceb8ee0030e6857d3e8bd53b3f7e858f6f56b9","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Rename spec/support/s3_storage.rb -> cloud_storage.rb\n\nTo better reflect its purpose.","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/8cceb8ee0030e6857d3e8bd53b3f7e858f6f56b9"},{"sha":"dc1b56b14eda8e2e4d1947984645a94bae53d959","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Error if asset requested from S3, but S3 not configured\n\nIf the AWS S3 bucket is not configured and a request is made to stream\nan asset from S3, then the server now responds with a\n\"500 Internal server error\" instead of a \"200 OK\" and an empty file.\n\n* I decided to introduce a `CloudStorage` class as a namespace for the\nbase class of the `NotConfiguredError` exception to keep the\n`ApplicationController` agnostic of the underlying cloud storage\nimplementation.\n\n* The \"500 Internal server error\" status seemed the most appropriate.\nI also considered the following:\n\n  * \"501 Not implemented\", but the functionality *is* implemented, it's\n  just not correctly configured.\n  * \"503 Service unavailable\", but this error supposed to only be\n  temporary and that doesn't seem quite right in this case.\n  * \"404 Not found\", but the problem seems more serious than that.\n\n* I decided to capitalise \"Internal\" in the error status, because that\nseems like a more common approach. I wanted to capitalise the\n\"not found\" status for the 404 error, but I was concerned there might be\nclients depending on it, so I left it unchanged.\n\n* I decided to append the exception message to the error status string,\nbecause I think it's useful to make as much information available as\npossible. I tried to see whether there was any standard way of doing\nthis for other GOV.UK APIs, but couldn't find any consistent approach.\n\n* I introduced the `disable_cloud_storage_stub: true` option for specs\nso that I could write an example where the exception was raised.\n\nFixes #78.","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/dc1b56b14eda8e2e4d1947984645a94bae53d959"},{"sha":"14d22839732948b0852a1328dddbd997e94ece5a","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Merge pull request #84 from alphagov/respond-with-error-if-asset-requested-from-s3-but-s3-not-configured\n\nRespond with error if asset requested from S3, but S3 not configured","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/14d22839732948b0852a1328dddbd997e94ece5a"},{"sha":"c60b0a2eae356268ac7a73a9f4dfd495160cdae0","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Add env var switch to stream all assets from S3\n\nIf the new `STREAM_ALL_ASSETS_FROM_S3` environment variable is present\nthen all assets should be streamed from S3, i.e. as if the\n`stream_from_s3` request parameter was set. The latter still works if\nthe environment variable is not set, but has no effect if the\nenvironment variable is set.","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/c60b0a2eae356268ac7a73a9f4dfd495160cdae0"},{"sha":"86fa401b88b68bf6f1de478853d8ef1748da56dc","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Add section about assets on S3 to README\n\nI thought it was worthwhile capturing all the relevant environment\nvariables in some documentation.","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/86fa401b88b68bf6f1de478853d8ef1748da56dc"},{"sha":"89c5e290233559adb2c01642409d7954abc709c5","author":{"name":"James Mead","email":"01cfcc75cc77e42d1369b51ffa1aaa70069d0f46@floehopper.org"},"message":"Merge pull request #89 from alphagov/enable-stream-from-s3-functionality-via-environment-variable\n\nEnable \"stream from S3\" functionality via an environment variable","distinct":false,"url":"https://api.github.com/repos/alphagov/asset-manager/commits/89c5e290233559adb2c01642409d7954abc709c5"}]}
{"actor":{"display_login":"govuk-ci"}}