aboutsummaryrefslogtreecommitdiff
path: root/mastodon
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2018-10-05 14:03:55 -0700
committerChristine Dodrill <me@christine.website>2018-10-05 14:31:22 -0700
commitc63e73391d634bdb25b3df1c582bb56b6d9a0963 (patch)
tree81ec642a36c4ca84b3d0d4dfd8d2a91d09f762cd /mastodon
parentdbeba1e5c5c0bc534a515eb298ee4f1d49df4d20 (diff)
downloadx-c63e73391d634bdb25b3df1c582bb56b6d9a0963.tar.xz
x-c63e73391d634bdb25b3df1c582bb56b6d9a0963.zip
mastodon/sona-pi-toki-pona: build and deploy in go, not shell
Diffstat (limited to 'mastodon')
-rw-r--r--mastodon/sona-pi-toki-pona/build.go54
-rwxr-xr-xmastodon/sona-pi-toki-pona/build.sh7
2 files changed, 54 insertions, 7 deletions
diff --git a/mastodon/sona-pi-toki-pona/build.go b/mastodon/sona-pi-toki-pona/build.go
new file mode 100644
index 0000000..4c8010c
--- /dev/null
+++ b/mastodon/sona-pi-toki-pona/build.go
@@ -0,0 +1,54 @@
+//+build ignore
+
+// Builds and deploys the application to minipaas.
+package main
+
+import (
+ "context"
+ "log"
+ "os"
+
+ "github.com/Xe/x/internal"
+ "github.com/Xe/x/internal/greedo"
+ "github.com/Xe/x/internal/minipaas"
+)
+
+func main() {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ env := append(os.Environ(), []string{"CGO_ENABLED=0", "GOOS=linux"}...)
+ internal.ShouldWork(ctx, env, internal.WD, "vgo", "build", "-o=sona-pi-toki-pona")
+ internal.ShouldWork(ctx, env, internal.WD, "appsluggr", "-worker=sona-pi-toki-pona")
+ fin, err := os.Open("slug.tar.gz")
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer fin.Close()
+
+ fname := "sona-pi-toki-pona-" + internal.DateTag + ".tar.gz"
+ pubURL, err := greedo.CopyFile(fname, fin)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ mp, err := minipaas.Dial()
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer mp.Close()
+
+ sess, err := mp.NewSession()
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer sess.Close()
+ sess.Stdin = os.Stdin
+ sess.Stdout = os.Stdout
+ sess.Stderr = os.Stderr
+
+ err = sess.Run("tar:from sona-pi-toki-pona " + pubURL)
+ if err != nil {
+ log.Fatal(err)
+ }
+}
diff --git a/mastodon/sona-pi-toki-pona/build.sh b/mastodon/sona-pi-toki-pona/build.sh
deleted file mode 100755
index a92b6f8..0000000
--- a/mastodon/sona-pi-toki-pona/build.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-CGO_ENABLED=0 GOOS=linux go build -o sona-pi-toki-pona
-appsluggr -fname sona-pi-toki-pona.tar.gz -worker sona-pi-toki-pona
-scp sona-pi-toki-pona.tar.gz xena@greedo.xeserv.us:public_html/files
-ssh dokku@minipaas.xeserv.us tar:from sona-pi-toki-pona https://xena.greedo.xeserv.us/files/sona-pi-toki-pona.tar.gz
-