From 2ed84f45154dd470d2d04d5cd945331ef431dd6a Mon Sep 17 00:00:00 2001
From: vyzo
Date: Fri, 2 Apr 2021 21:50:05 +0300
Subject: [PATCH] RIP travis, Long Live CircleCI (#414)
* RIP travis
* add CircleCI config
---
.circleci/config.yml | 92 ++++++++++++++++++++++++++++++++++++++++++++
.travis.yml | 27 -------------
README.md | 3 +-
3 files changed, 93 insertions(+), 29 deletions(-)
create mode 100644 .circleci/config.yml
delete mode 100644 .travis.yml
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000..54da944
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,92 @@
+version: 2.1
+orbs:
+ go: gotest/tools@0.0.13
+
+executors:
+ golang:
+ docker:
+ - image: circleci/golang:1.15.5
+ resource_class: 2xlarge
+ ubuntu:
+ docker:
+ - image: ubuntu:20.04
+
+commands:
+ prepare:
+ steps:
+ - checkout
+
+jobs:
+ build-all:
+ executor: golang
+ steps:
+ - prepare
+ - run:
+ name: go build
+ command: |
+ go build ./...
+ test:
+ parameters:
+ executor:
+ type: executor
+ default: golang
+ go-test-flags:
+ type: string
+ default: "-timeout 30m"
+ description: Flags passed to go test.
+ gotestsum-format:
+ type: string
+ default: testname
+ description: gotestsum format. https://github.com/gotestyourself/gotestsum#format
+ coverage:
+ type: string
+ default: -coverprofile=coverage.txt -coverpkg=github.com/libp2p/go-libp2p-pubsub
+ description: Coverage flag. Set to the empty string to disable.
+ codecov-upload:
+ type: boolean
+ default: false
+ description: |
+ Upload coverage report to https://codecov.io/. Requires the codecov API token to be
+ set as an environment variable for private projects.
+ executor: << parameters.executor >>
+ steps:
+ - prepare
+ - go/install-gotestsum:
+ gobin: $HOME/.local/bin
+ version: 0.5.2
+ - run:
+ name: go test
+ command: |
+ ulimit -n 2048
+ mkdir -p /tmp/test-reports
+ mkdir -p /tmp/test-artifacts
+ gotestsum \
+ --format << parameters.gotestsum-format >> \
+ --junitfile /tmp/test-reports/junit.xml \
+ --jsonfile /tmp/test-artifacts/output.json \
+ -- \
+ << parameters.coverage >> \
+ << parameters.go-test-flags >> \
+ github.com/libp2p/go-libp2p-pubsub
+ no_output_timeout: 30m
+ - store_test_results:
+ path: /tmp/test-reports
+ - store_artifacts:
+ path: /tmp/test-artifacts/output.json
+ - when:
+ condition: << parameters.codecov-upload >>
+ steps:
+ - go/install: {package: bash}
+ - go/install: {package: curl}
+ - run:
+ shell: /bin/bash -eo pipefail
+ command: |
+ bash <(curl -s https://codecov.io/bash)
+
+workflows:
+ version: 2.1
+ ci:
+ jobs:
+ - build-all
+ - test:
+ codecov-upload: true
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index b4acc74..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-os:
- - linux
-
-language: go
-
-go:
- - 1.14.x
-
-env:
- matrix:
- - GOTFLAGS="-race"
- - GOTFLAGS="-race -tags=openssl"
-
-cache:
- directories:
- - $GOPATH/pkg/mod
- - $HOME/.cache/go-build
-
-script:
- - go build ./...
- - travis_wait 30 go test -timeout 30m -v -race -coverprofile=coverage.txt -covermode=atomic ./...
-
-after_success:
- - bash <(curl -s https://codecov.io/bash)
-
-notifications:
- email: false
\ No newline at end of file
diff --git a/README.md b/README.md
index 0ce90cb..32a7937 100644
--- a/README.md
+++ b/README.md
@@ -8,9 +8,8 @@
-
-
+
--
GitLab