diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..90cf7accb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,36 @@ +name: build + +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened] + +jobs: + build-go: + runs-on: ubuntu-latest + strategy: + matrix: + go: [1.13, 1.16] + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Go + uses: actions/setup-go@v2 + with: + go-version: ${{ matrix.go }} + - name: Build + run: | + go mod download + go run cmd/download_ui/download_ui.go + CGO_ENABLED=0 go build -o /tmp/cayley ./cmd/cayley + go run github.com/gobuffalo/packr/v2/packr2 + git checkout -- ./packrd/dummy.go + if [[ $GOVERSION =~ ^go1\.13 ]]; then + go get -u golang.org/x/lint/golint && bash lint.sh + else + # run go vet for other go versions, but do not fail + go vet ./... || true + fi + go test -v ./... diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 697912bb8..000000000 --- a/.travis.yml +++ /dev/null @@ -1,42 +0,0 @@ -language: go - -addons: - apt: - packages: - - snapd - -go: - - "1.13.x" - - tip - -matrix: - allow_failures: - - go: tip - -install: - - sudo snap install snapcraft --classic - - go mod download - - go run cmd/download_ui/download_ui.go - -cache: - directories: - - $GOPATH/pkg/mod - -script: - - CGO_ENABLED=0 go build -o /tmp/cayley ./cmd/cayley - - go run github.com/gobuffalo/packr/v2/packr2 - - git checkout -- ./packrd/dummy.go - - go get -u golang.org/x/lint/golint - - bash lint.sh - - go test -v ./... - -after_success: - - test -n "$TRAVIS_TAG" && echo "$SNAP_TOKEN" > /tmp/snap.login && snapcraft login --with /tmp/snap.login - -deploy: - - provider: script - skip_cleanup: true - script: git status && curl -sL https://git.io/goreleaser | bash - on: - tags: true - condition: $TRAVIS_OS_NAME = linux && $TRAVIS_GO_VERSION =~ ^1\.13