summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml15
-rw-r--r--.circleci/test-run.sh25
-rwxr-xr-x.circleci/test-setup.sh26
-rw-r--r--Dockerfile2
4 files changed, 67 insertions, 1 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000..0def778
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,15 @@
+version: 2
+jobs:
+ build:
+ docker:
+ - image: circleci/golang:1.9
+
+ steps:
+ - checkout
+
+ # generate and build project to test
+ - run: curl https://raw.githubusercontent.com/ponzu-cms/ponzu/ponzu-dev/.circleci/test-setup.sh | sh
+
+ # run tests
+ - run: curl https://raw.githubusercontent.com/ponzu-cms/ponzu/ponzu-dev/.circleci/test-run.sh | sh
+
diff --git a/.circleci/test-run.sh b/.circleci/test-run.sh
new file mode 100644
index 0000000..dafef6f
--- /dev/null
+++ b/.circleci/test-run.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# Test that the configuration runs.
+
+set -ex
+
+cd /go/src/github.com/ponzu-cms/ci/test-project
+
+ponzu run --dev-https &
+
+# Smoke test
+sleep 2
+curl -Lk https://localhost:10443/admin | grep https://www.bosssauce.it
+
+# Run unit tests
+touch cookies
+
+# Create initial admin user
+curl -v --cookie-jar cookies \
+ -d "name=Test&domain=localhost&email=test@ponzu-cms.org&password=ponzu" \
+ -X POST localhost:8080/admin/init
+
+#Test that content types were generated
+curl -b cookies -c cookies http://localhost:8080/admin/contents?type=Person \
+ | grep Person \ No newline at end of file
diff --git a/.circleci/test-setup.sh b/.circleci/test-setup.sh
new file mode 100755
index 0000000..76085e3
--- /dev/null
+++ b/.circleci/test-setup.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+# Set up test environment
+
+set -ex
+
+# Install Ponzu CMS
+go get -u github.com/ponzu-cms/ponzu/...
+
+
+# test install
+ponzu
+
+
+# create a project and generate code
+ponzu new github.com/ponzu-cms/ci/test-project
+
+cd /go/src/github.com/ponzu-cms/ci/test-project
+
+ponzu gen content person name:string hashed_secret:string
+ponzu gen content message from:@person,hashed_secret to:@person,hashed_secret
+
+
+# build and run dev http/2 server with TLS
+ponzu build
+
diff --git a/Dockerfile b/Dockerfile
index 17a496f..6b991f9 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
# Base our image on an official, minimal image of our preferred golang
-FROM golang:1.8.1
+FROM golang:1.9
# Note: The default golang docker image, already has the GOPATH env variable set.
# GOPATH is located at /go