rove/.github/workflows/docker-image.yml

49 lines
1,001 B
YAML

name: Build and Test
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
name: Build and Test
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.13
id: go
- name: Check out repo
uses: actions/checkout@v2
- name: Get go dependencies
run: |
go get -v -t -d ./...
if [ -f Gopkg.toml ]; then
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
dep ensure
fi
- name: Build with go
run: go build -v ./...
- name: Run go unit tests
run: go test -v ./...
- name: Build docker
run: docker build . --tag rove:$(date +%s)
- name: Deploy docker-compose
run: docker-compose up --build --detach
- name: Run go integration tests
run: go test ./... -tags integration
- name: Take down docker-compose
run: docker-compose down