diff --git a/.github/workflows/continuous_integration.yaml b/.github/workflows/continuous_integration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..96f3ebceb88bf90edd8d92c5539f0a8cd6725332 --- /dev/null +++ b/.github/workflows/continuous_integration.yaml @@ -0,0 +1,53 @@ +name: CI + +on: [pull_request] + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - name: Setup + uses: actions/setup-go@v2 + with: + go-version: '1.14' + - name: Checkout + uses: actions/checkout@v2 + - name: Lint + run: make lint + + test: + name: Test + runs-on: ubuntu-latest + steps: + - name: Setup + uses: actions/setup-go@v2 + with: + go-version: '1.14' + - name: Checkout + uses: actions/checkout@v2 + - name: Test + run: make testci + - name: Code coverage + uses: codecov/codecov-action@v1 + with: + file: ./coverage.txt + + regression_test: + name: Regression Tests + runs-on: ubuntu-latest + strategy: + matrix: + go_version: + - '1.11' + - '1.12' + - '1.13' + steps: + - name: Setup + uses: actions/setup-go@v2 + with: + go-version: ${{matrix.go_version}} + - name: Checkout + uses: actions/checkout@v2 + - name: Test + run: make test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2176f307c4b7862535cfa74513683de328e35bbb..0000000000000000000000000000000000000000 --- a/.travis.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -language: go -go: - - '1.11' - - '1.12' - - '1.13' - -script: - - make lint - - make testci - -after_success: - # Upload test coverage results to codecov.io - # https://github.com/codecov/example-go/blob/b85638743b972bd0bd2af63421fe513c6f968930/README.md - - bash <(curl -s https://codecov.io/bash) - -# With this filter, we aim to restrict Travis's "Build Pushes" feature to build -# only pushes to master, while allowing the "Build Pull Requests" to build all -# incoming pull requests without redundant double-builds. -# -# This is confusing on Travis's end; this captures the exact problem we're -# trying to solve: -# https://stackoverflow.com/a/31882307 -branches: - only: - - master - -notifications: - email: false