diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 252fce8a8..b63d65b67 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -15,10 +15,20 @@ jobs: with: go-version: ^1.14 - - name: Checkout default branch + - name: Checkout codebase uses: actions/checkout@v2 + - name: Cache go module + uses: actions/cache@v2 + id: cache-gomodules + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + - name: Get dependencies + if: steps.cache-gomodules.outputs.cache-hit != 'true' run: | go get -v -t -d ./... diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index ba62bcfce..8176c8860 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -11,13 +11,49 @@ jobs: lint: runs-on: ubuntu-latest steps: - - name: Checkout default branch + - name: Set up Go 1.x + uses: actions/setup-go@v2 + with: + go-version: ^1.14 + + - name: Checkout codebase uses: actions/checkout@v2 - - name: Lint Code Base + - name: Cache go module + uses: actions/cache@v2 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go- + + - name: Show if need to format code + if: ${{ always() }} + run: | + filesNeedToFormat=$(go fmt ./...) + if [[ $filesNeedToFormat ]]; then + echo -e "\033[0;36m[Error] The following Go files need to be formatted:\033[0m" + echo -e "\033[0;31m$filesNeedToFormat\033[0m" + exit 1 + fi + + - name: Lint *.go files + if: ${{ always() }} + run: | + go vet $(go list ./... | grep -v /external/) + if [[ $? != 0 ]]; then + exit 1 + fi + + - name: Lint other files + if: ${{ always() }} uses: github/super-linter@v3.8.3 env: - VALIDATE_ALL_CODEBASE: false - VALIDATE_JSON: false - VALIDATE_ANSIBLE: false GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VALIDATE_ALL_CODEBASE: false + VALIDATE_BASH: false + VALIDATE_DOCKERFILE: false + VALIDATE_DOCKERFILE_HADOLINT: false + VALIDATE_GO: false + VALIDATE_JSON: false + VALIDATE_MD: false + VALIDATE_PROTOBUF: false diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1b21ef209..cc6f06177 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,6 +7,7 @@ on: - "**/*.go" pull_request: branches: [master] + types: [opened, synchronize, reopened] paths: - "**/*.go" @@ -22,12 +23,15 @@ jobs: with: go-version: ^1.14 - - name: Checkout default branch + - name: Checkout codebase uses: actions/checkout@v2 - - name: Get dependencies - run: | - go get -v -t -d ./... + - name: Cache go module + uses: actions/cache@v2 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go- - name: Test - run: go test -parallel 1 -timeout 6h -v ./... + run: go test -timeout 1h -v ./... diff --git a/.github/workflows/updateGeofile.yml b/.github/workflows/updateGeofile.yml index 0fb5c8548..9ba3a6afd 100644 --- a/.github/workflows/updateGeofile.yml +++ b/.github/workflows/updateGeofile.yml @@ -8,7 +8,7 @@ jobs: update: runs-on: ubuntu-latest steps: - - name: Checkout default branch + - name: Checkout codebase uses: actions/checkout@v2 - name: Download