name: test on: push: branches: [ master ] pull_request: branches: [ master ] jobs: go: env: MAXMIND_GEOLITE2_LICENSE: ${{ secrets.MAXMIND_GEOLITE2_LICENSE }} strategy: matrix: go-version: - "1.10" - "1.11" - "1.12" - "1.13" - "1.14" - "1.15" runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - name: Cache dependencies uses: actions/cache@v2 with: path: vendor/ key: vendor-${{ matrix.go-version }}-${{ hashFiles('**/dependencies.tsv') }} - name: Install dependencies run: | make godeps make dependencies - name: Build applications run: | echo "Building with $(nproc) threads" make client -j$(nproc) make proxy -j$(nproc) make server -j$(nproc) - name: Run tests run: | make test || make test - name: Generate coverage report run: | make cover || make cover