Remove old Ruby-based upload script

The new Go-based code works fine and has successfully uploaded the site
several times now. This removes a dependency on a non-Go flow which
should make development easier.
This commit is contained in:
Eli Bendersky 2021-09-08 05:49:47 -07:00
parent cf0d050e81
commit 2570a9c136
2 changed files with 0 additions and 43 deletions

View File

@ -45,7 +45,6 @@ and open `http://127.0.0.1:8000/` in your browser.
To upload the site:
```console
$ gem install aws-sdk
$ export AWS_ACCESS_KEY_ID=...
$ export AWS_SECRET_ACCESS_KEY=...
$ tools/upload

View File

@ -1,42 +0,0 @@
#!/usr/bin/env ruby
# Upload the contents in public/ to the S3 bucket from which we serve
# gobyexample.com. We use this instead of `aws iam sync` because that command
# doesn't correctly guess the text/html mime time of the extension-less files.
# We didn't write this in Go because we had already written it in Ruby for
# another website and didn't want to re-write it.
require "aws-sdk"
require "set"
s3 = Aws::S3::Client.new(
region: "us-east-1",
credentials: Aws::Credentials.new(ENV["AWS_ACCESS_KEY_ID"], ENV["AWS_SECRET_ACCESS_KEY"])
)
# (Re-)upload each file to S3. We're not worried about what's currently there.
Dir.glob("./public/**/**").each do |local_path|
next if File.directory?(local_path)
# Derive final path.
s3_path = local_path.sub("./public/", "")
# Infer content type, including for HTML files that need pretty URLs.
content_type =
case s3_path
when /\.ico$/ then "image/x-icon"
when /\.png$/ then "image/png"
when /\.css$/ then "text/css"
else "text/html"
end
puts("Uploading #{s3_path} (#{content_type})")
File.open(local_path, "rb") do |local_file|
s3.put_object(
bucket: "gobyexample.com",
key: s3_path,
content_type: content_type,
body: local_file)
end
end