ci: improve caching (#7943)

This commit is contained in:
Ammar Bandukwala
2023-06-09 16:46:44 -05:00
committed by GitHub
parent 2bbe650eb0
commit 71c908974c
3 changed files with 37 additions and 10 deletions
+24
View File
@@ -8,8 +8,32 @@ runs:
with:
cache: true
go-version: "1.20.5"
- name: Cache go
uses: buildjet/cache@v3
with:
# ~/go/pkg is the same across operating systems.
path: |
~/go/pkg
~/.cache/go-build
~/AppData/Local/go-build
~/Library/Caches/go-build
# Job name must be included in the key for effective
# test cache reuse.
key: go-${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/*.go', 'go.**') }}
restore-keys: |
go-${{ runner.os }}-${{ github.job }}-
go-${{ runner.os }}-
go-
- name: Install gotestsum
uses: jaxxstorm/action-install-gh-release@v1.10.0
with:
repo: gotestyourself/gotestsum
tag: v1.9.0
# It isn't necessary that we ever do this, but it helps
# separate the "setup" from the "run" times.
- name: go mod download
shell: bash
run: go mod download -x
+11 -8
View File
@@ -218,8 +218,18 @@ jobs:
echo "cover=false" >> $GITHUB_OUTPUT
fi
# By default Go will use the number of logical CPUs, which
# is a fine default.
PARALLEL_FLAG=""
if [ "${{ matrix.os }}" == "windows-2019" ]; then
# Windows appears more I/O bound, so we increase parallelism
# to make better use of CPU.
PARALLEL_FLAG="-parallel=16"
fi
export TS_DEBUG_DISCO=true
gotestsum --junitfile="gotests.xml" --jsonfile="gotests.json" --packages="./..." -- -parallel=8 -timeout=7m -short -failfast $COVERAGE_FLAGS
gotestsum --junitfile="gotests.xml" --jsonfile="gotests.json" \
--packages="./..." -- $PARALLEL_FLAG -short -failfast $COVERAGE_FLAGS
- name: Print test stats
if: success() || failure()
@@ -228,13 +238,6 @@ jobs:
# so we need to print the test stats to the log.
go run ./scripts/ci-report/main.go gotests.json | tee gotests_stats.json
- uses: actions/upload-artifact@v3
if: success() || failure()
with:
name: gotests-${{ matrix.os }}.xml
path: ./gotests.xml
retention-days: 30
- uses: ./.github/actions/upload-datadog
if: always()
with: