diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e92d58b2e2cf32b31f12e502e6be04df4e922d43 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,54 @@ +name: ci +on: + - push + - pull_request +env: + golang-version: '1.15' + kind-version: 'v0.11.1' +jobs: + generate: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - macos-latest + - ubuntu-latest + name: Generate + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-go@v2 + with: + go-version: ${{ env.golang-version }} + - run: make --always-make generate && git diff --exit-code + unit-tests: + runs-on: ubuntu-latest + name: Unit tests + steps: + - uses: actions/checkout@v2 + - run: make --always-make test + e2e-tests: + name: E2E tests + runs-on: ubuntu-latest + strategy: + matrix: + kind-image: + - 'kindest/node:v1.18.19' + steps: + - uses: actions/checkout@v2 + - name: Start KinD + uses: engineerd/setup-kind@v0.5.0 + with: + version: ${{ env.kind-version }} + image: ${{ matrix.kind-image }} + wait: 300s + - name: Wait for cluster to finish bootstraping + run: kubectl wait --for=condition=Ready pods --all --all-namespaces --timeout=300s + - name: Create kube-prometheus stack + run: | + kubectl create -f manifests/setup + until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done + kubectl create -f manifests/ + - name: Run tests + run: | + export KUBECONFIG="${HOME}/.kube/config" + make test-e2e diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6734035887c668492d49ce0bb1e19f70ea921733..0000000000000000000000000000000000000000 --- a/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -sudo: required -dist: xenial -language: go - -go: -- "1.13.x" -go_import_path: github.com/coreos/kube-prometheus - -cache: - directories: - - $GOCACHE - - $GOPATH/pkg/mod - -jobs: - include: - - name: Check generated files - script: make --always-make generate && git diff --exit-code - - name: Run tests - script: make --always-make test - - name: Run e2e tests - script: ./tests/e2e/travis-e2e.sh