--- name: test on: ["push", "pull_request"] env: GO_VERSION: "1.15" LINUX_ARCHES: "amd64 386 arm arm64 s390x mips64le ppc64le" jobs: build: name: Build all linux architectures runs-on: ubuntu-latest steps: - name: setup go uses: actions/setup-go@v1 with: go-version: ${{ env.GO_VERSION }} - uses: actions/checkout@v2 - name: Build on all supported architectures run: | set -e for arch in ${LINUX_ARCHES}; do echo "Building for arch $arch" GOARCH=$arch ./build_linux.sh rm bin/* done test-linux: name: Run tests on Linux amd64 runs-on: ubuntu-latest steps: - name: setup go uses: actions/setup-go@v1 with: go-version: ${{ env.GO_VERSION }} - uses: actions/checkout@v2 - name: Install test binaries env: GO111MODULE: off run: | go get github.com/containernetworking/cni/cnitool go get github.com/mattn/goveralls go get github.com/modocache/gover - name: test run: PATH=$PATH:$(go env GOPATH)/bin COVERALLS=1 ./test_linux.sh - name: Send coverage to coveralls env: COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | PATH=$PATH:$(go env GOPATH)/bin gover goveralls -coverprofile=gover.coverprofile -service=github test-win: name: Build and run tests on Windows runs-on: windows-latest steps: - name: setup go uses: actions/setup-go@v1 with: go-version: ${{ env.GO_VERSION }} - uses: actions/checkout@v2 - name: test run: bash ./test_windows.sh