diff options
author | Steve Manuel <nilslice@gmail.com> | 2017-12-20 01:03:03 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-20 01:03:03 -0700 |
commit | 4813ff8e0a25cb8ebc30c9cf5c6393e2726dbcd4 (patch) | |
tree | 3b06ef2d78fc16306e10bed24904a09d8d736787 | |
parent | 1124d6ae8bc11367a1b483f0dc64a0d2b8e11847 (diff) |
[testing] setting up CI (#210)
* add circle.yml
* docker: update go version to 1.9
* add comments and organize steps
* temporarily remove go test step
* add ponzu install step
* add generate, build, run and test
-rw-r--r-- | .circleci/config.yml | 15 | ||||
-rw-r--r-- | .circleci/test-run.sh | 25 | ||||
-rwxr-xr-x | .circleci/test-setup.sh | 26 | ||||
-rw-r--r-- | Dockerfile | 2 |
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 + @@ -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 |