diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 42e93cf6..61ab05ae 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - go: ['1.20', '1.21', 'tip'] + go: ['1.22', '1.23', 'tip'] # Supported macOS versions can be found in # https://github.com/actions/virtual-environments#available-environments. # TODO: Add macos-13. As of now there are build errors when installing graphviz. @@ -28,11 +28,31 @@ jobs: # - https://github.com/actions/virtual-environments/blob/main/images/macos/macos-13-Readme.md#xcode xcode-version: ['14.2', '14.1', '14.0.1', '13.4.1', '13.3.1', '13.2.1', '13.1'] steps: + - name: Checkout the repo + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + path: ${{ env.WORKING_DIR }} + - name: Update Go version using setup-go uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 if: matrix.go != 'tip' with: + # Include cache directives to allow proper caching. Without them, we + # get setup-go "Restore cache failed" warnings. go-version: ${{ matrix.go }} + cache: true + cache-dependency-path: '**/go.sum' + + - name: Install Go bootstrap compiler + uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 + if: matrix.go == 'tip' + with: + # Bootstrapping go tip requires 1.22.6 + # Include cache directives to allow proper caching. Without them, we + # get setup-go "Restore cache failed" warnings. + go-version: 1.22 + cache: true + cache-dependency-path: '**/go.sum' - name: Update Go version manually if: matrix.go == 'tip' @@ -46,11 +66,6 @@ jobs: echo "RUN_GOLANGCI_LINTER=false" >> $GITHUB_ENV echo "$HOME/gotip/bin:$PATH" >> $GITHUB_PATH - - name: Checkout the repo - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - with: - path: ${{ env.WORKING_DIR }} - - name: Set up Xcode uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0 with: @@ -61,8 +76,8 @@ jobs: brew install graphviz # Do not let tools interfere with the main module's go.mod. cd && go mod init tools - go install honnef.co/go/tools/cmd/staticcheck@v0.4.6 - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.0 + go install honnef.co/go/tools/cmd/staticcheck@v0.5.1 + go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.60.3 # Add PATH for installed tools. echo "$GOPATH/bin:$PATH" >> $GITHUB_PATH @@ -84,14 +99,34 @@ jobs: strategy: fail-fast: false matrix: - go: ['1.20', '1.21', 'tip'] + go: ['1.22', '1.23', 'tip'] os: ['ubuntu-22.04', 'ubuntu-20.04'] steps: + - name: Checkout the repo + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + path: ${{ env.WORKING_DIR }} + - name: Update Go version using setup-go uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 if: matrix.go != 'tip' with: + # Include cache directives to allow proper caching. Without them, we + # get setup-go "Restore cache failed" warnings. go-version: ${{ matrix.go }} + cache: true + cache-dependency-path: '**/go.sum' + + - name: Install Go bootstrap compiler + uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 + if: matrix.go == 'tip' + with: + # Bootstrapping go tip requires 1.22.6 + # Include cache directives to allow proper caching. Without them, we + # get setup-go "Restore cache failed" warnings. + go-version: 1.22 + cache: true + cache-dependency-path: '**/go.sum' - name: Update Go version manually if: matrix.go == 'tip' @@ -105,11 +140,6 @@ jobs: echo "RUN_GOLANGCI_LINTER=false" >> $GITHUB_ENV echo "$HOME/gotip/bin" >> $GITHUB_PATH - - name: Checkout the repo - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - with: - path: ${{ env.WORKING_DIR }} - - name: Check chrome for browser tests run: | google-chrome --version @@ -119,8 +149,8 @@ jobs: sudo apt-get install graphviz # Do not let tools interfere with the main module's go.mod. cd && go mod init tools - go install honnef.co/go/tools/cmd/staticcheck@v0.4.6 - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.0 + go install honnef.co/go/tools/cmd/staticcheck@v0.5.1 + go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.60.3 # Add PATH for installed tools. echo "$GOPATH/bin:$PATH" >> $GITHUB_PATH @@ -139,18 +169,22 @@ jobs: strategy: fail-fast: false matrix: - go: ['1.20', '1.21'] + go: ['1.22', '1.23'] steps: - - name: Update Go version using setup-go - uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 - with: - go-version: ${{ matrix.go }} - - name: Checkout the repo uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: path: ${{ env.WORKING_DIR }} + - name: Update Go version using setup-go + uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 + with: + # Include cache directives to allow proper caching. Without them, we + # get setup-go "Restore cache failed" warnings. + go-version: ${{ matrix.go }} + cache: true + cache-dependency-path: '**/go.sum' + - name: Fetch Windows dependency uses: crazy-max/ghaction-chocolatey@0e015857dd851f84fcb7fb53380eb5c4c8202333 # v3.0.0 with: diff --git a/browsertests/go.mod b/browsertests/go.mod index 947ece64..2d571a03 100644 --- a/browsertests/go.mod +++ b/browsertests/go.mod @@ -1,6 +1,6 @@ module github.com/google/pprof/browsertests -go 1.19 +go 1.22 // Use the version of pprof in this directory tree. replace github.com/google/pprof => ../ diff --git a/go.mod b/go.mod index f294479b..ea9ed8e6 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/google/pprof -go 1.19 +go 1.22 require ( github.com/chzyer/readline v1.5.1