diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..0065a03 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,22 @@ +kind: pipeline +name: default + +steps: + - name: build + image: golang:latest + commands: + - make test + + - name: coverage + image: plugins/codecov + settings: + token: + from_secret: codecov-token + + - name: notify + image: plugins/webhook + urls: https://msgbus.mills.io/ci.mills.io + when: + status: + - success + - failure diff --git a/.gitignore b/.gitignore index 4e35f8a..32c3689 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ *~ dist *.bak +coverage.txt + gopherproxy diff --git a/goreleaser.yml b/.goreleaser.yml similarity index 100% rename from goreleaser.yml rename to .goreleaser.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8763a71..0000000 --- a/.travis.yml +++ /dev/null @@ -1,10 +0,0 @@ -language: go -sudo: false -go: - - tip -before_install: - - go get github.com/mattn/goveralls -script: - - $HOME/gopath/bin/goveralls -service=travis-ci -after_success: - - test -n "$TRAVIS_TAG" && curl -sL https://git.io/goreleaser | bash diff --git a/Makefile b/Makefile index 6fef3e6..12850e1 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: dev build clean +.PHONY: dev build profile bench test clean all: dev @@ -6,8 +6,16 @@ dev: build ./gopherproxy -bind 127.0.0.1:8000 build: clean - go get ./... go build -o ./gopherproxy ./cmd/gopherproxy/main.go +profile: + @go test -cpuprofile cpu.prof -memprofile mem.prof -v -bench . + +bench: + @go test -v -bench . + +test: + @go test -v -race -cover -coverprofile=coverage.txt -covermode=atomic . + clean: - rm -rf gopherproxy + @git clean -f -d -X diff --git a/README.md b/README.md index a647414..7215e2b 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ # Gopher (RFC 1436) Web Proxy -[![Build Status](https://travis-ci.org/prologic/gopherproxy.svg)](https://travis-ci.org/prologic/gopherproxy) -[![GoDoc](https://godoc.org/github.com/prologic/gopherproxy?status.svg)](https://godoc.org/github.com/prologic/gopherproxy) -[![Wiki](https://img.shields.io/badge/docs-wiki-blue.svg)](https://github.com/prologic/gopherproxy/wiki) -[![Go Report Card](https://goreportcard.com/badge/github.com/prologic/gopherproxy)](https://goreportcard.com/report/github.com/prologic/gopherproxy) -[![Coverage](https://coveralls.io/repos/prologic/gopherproxy/badge.svg)](https://coveralls.io/r/prologic/gopherproxy) + +[![Build Status](https://cloud.drone.io/api/badges/prologic/gopherproxy/status.svg)](https://cloud.drone.io/prologic/gopherproxy) +[![CodeCov](https://codecov.io/gh/prologic/gopherproxy/branch/master/graph/badge.svg)](https://codecov.io/gh/prologic/gopherproxy) +[![Go Report Card](https://goreportcard.com/badge/prologic/gopherproxy)](https://goreportcard.com/report/prologic/gopherproxy) +[![GoDoc](https://godoc.org/github.com/prologic/gopherproxy?status.svg)](https://godoc.org/github.com/prologic/gopherproxy) +[![Sourcegraph](https://sourcegraph.com/github.com/prologic/gopherproxy/-/badge.svg)](https://sourcegraph.com/github.com/prologic/gopherproxy?badge) gopherproxy is a Gopher (RFC 1436) Web Proxy that acts as a gateway into Gopherspace by proxying standard Web HTTP requests to Gopher requests of the target server. diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..fa60472 --- /dev/null +++ b/go.mod @@ -0,0 +1,6 @@ +module github.com/prologic/gopherproxy + +require ( + github.com/prologic/go-gopher v0.0.0-20181230133552-0c68ed5f58b0 + github.com/temoto/robotstxt v0.0.0-20180810133444-97ee4a9ee6ea +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..3474014 --- /dev/null +++ b/go.sum @@ -0,0 +1,9 @@ +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prologic/go-gopher v0.0.0-20181230133552-0c68ed5f58b0 h1:10LO/S8HVjIuEHsHea//Cena1Ztgy23f/e8HFC0w5ow= +github.com/prologic/go-gopher v0.0.0-20181230133552-0c68ed5f58b0/go.mod h1:LiuwIXz4es4YIUOD6yRv8mES9n9dFbe4z0+TcrLkhXg= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/temoto/robotstxt v0.0.0-20180810133444-97ee4a9ee6ea h1:hH8P1IiDpzRU6ZDbDh/RDnVuezi2oOXJpApa06M0zyI= +github.com/temoto/robotstxt v0.0.0-20180810133444-97ee4a9ee6ea/go.mod h1:aOux3gHPCftJ3KHq6Pz/AlDjYJ7Y+yKfm1gU/3B0u04= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3 h1:eH6Eip3UpmR+yM/qI9Ijluzb1bNv/cAU/n+6l8tRSis= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=