diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 000000000..21d6e9247 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,83 @@ +on: [push, pull_request] +name: Test +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Install Go + uses: actions/setup-go@v1 + with: + go-version: 1.14.x + - name: Checkout code + uses: actions/checkout@v2 + - name: Lint Dependencies + run: make build-deps + - name: Lint + run: | + export PATH=$PATH:$(go env GOPATH)/bin + make lint + - name: Spellcheck + run: | + export PATH=$PATH:$(go env GOPATH)/bin + make spellcheck + test: + strategy: + matrix: + go-version: [1.14.x] + platform: [ubuntu-latest, macos-latest, ubuntu-16.04] + runs-on: ${{ matrix.platform }} + steps: + - name: Install Go + uses: actions/setup-go@v1 + with: + go-version: ${{ matrix.go-version }} + - name: Checkout code + uses: actions/checkout@v2 + - name: Test + run: make test + + cover: + strategy: + matrix: + go-version: [1.14.x] + platform: [ubuntu-latest] + runs-on: ${{ matrix.platform }} + steps: + - name: Install Go + uses: actions/setup-go@v1 + with: + go-version: ${{ matrix.go-version }} + - name: Checkout code + uses: actions/checkout@v2 + - name: Test + run: make cover + - name: CodeCov + uses: codecov/codecov-action@v1.0.4 + with: + # The token below is used exclusively for uploading coverage reports. + token: "d82eb1d7-5990-4a31-baa4-156473402105" + file: ./coverage.txt + + build: + strategy: + matrix: + go-version: [1.14.x] + platform: [ubuntu-latest, macos-latest, ubuntu-16.04] + runs-on: ${{ matrix.platform }} + steps: + - name: Install Go + uses: actions/setup-go@v1 + with: + go-version: ${{ matrix.go-version }} + - name: Checkout code + uses: actions/checkout@v2 + - name: build + run: make build + + build-docker: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: build + run: docker build . diff --git a/.travis.yml b/.travis.yml index bc88c064a..7220df752 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ stages: - - test - - "Docker Test Build" + - name: test + if: fork = false AND type = push - name: "Docker Build and Publish" if: fork = false AND type = push @@ -61,13 +61,6 @@ matrix: - go: tip fast_finish: true include: - - name: "Test Build amd64" - stage: "Docker Test Build" - install: *docker_setup - go: 1.x - script: - - .travis/docker_build.sh ${TRAVIS_REPO_SLUG}:${TRAVIS_COMMIT} Dockerfile - - name: "Build Master amd64" stage: "Docker Build and Publish" if: branch = master