From 25b6855925d2148b69cbd14a5d081921d9f59b7f Mon Sep 17 00:00:00 2001 From: Hamza El-Saawy <84944216+helsaawy@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:43:56 -0400 Subject: [PATCH] [ci] Enable caching for proto and integration jobs (#1755) Caching is enabled by default in `actions/setup-go@v4` (https://githut b.com/actions/setup-go#caching-dependency-files-and-build-outputs) so update the `go.sum` path when checking out hcsshim to a non-default path. Additionally, disable for linting, since that often causes errors. Without caching, wont need to explicitly delete the module cache. Relies on: https://github.com/microsoft/hcsshim/pull/1752 Signed-off-by: Hamza El-Saawy --- .github/workflows/ci.yml | 75 +++++++++++++++++++++++++--------------- 1 file changed, 48 insertions(+), 27 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3606a799c7..0287b63853 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,7 @@ env: GOTESTSUM_VERSION: "latest" jobs: + lint: runs-on: "windows-2022" strategy: @@ -25,15 +26,18 @@ jobs: ./internal/tools/... ./pkg/... ./ext4/... + steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - name: Checkout + uses: actions/checkout@v3 + + - name: Install go + uses: actions/setup-go@v4 with: go-version: ${{ env.GO_VERSION }} - - name: Clean mod cache - shell: Powershell - run: | - go clean -modcache + # sometimes go cache causes issues with lint + cache: false + - uses: golangci/golangci-lint-action@v3 with: version: v1.52 @@ -42,6 +46,7 @@ jobs: --max-issues-per-linter=0 --max-same-issues=0 --modules-download-mode=readonly + --timeout=10m ${{ matrix.dirs }} working-directory: ${{ matrix.root }} env: @@ -55,14 +60,16 @@ jobs: GOPATH: '${{ github.workspace }}\go' steps: - - uses: actions/setup-go@v4 + - name: Checkout hcsshim + uses: actions/checkout@v3 with: - go-version: ${{ env.GO_VERSION }} + path: go/src/github.com/Microsoft/hcsshim - - uses: actions/checkout@v3 + - name: Install go + uses: actions/setup-go@v4 with: - path: "go/src/github.com/Microsoft/hcsshim" - name: Checkout hcsshim + go-version: ${{ env.GO_VERSION }} + cache-dependency-path: go/src/github.com/Microsoft/hcsshim/go.sum - name: Get containerd ref shell: powershell @@ -77,12 +84,12 @@ jobs: "containerd_ref=$v" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append working-directory: go/src/github.com/Microsoft/hcsshim - - uses: actions/checkout@v3 + - name: Checkout containerd + uses: actions/checkout@v3 with: repository: containerd/containerd path: "containerd" ref: "${{ env.containerd_ref }}" - name: Checkout containerd - name: Install protobuild and protoc-gen-gogoctrd shell: powershell @@ -143,9 +150,11 @@ jobs: env: GOPROXY: "https://proxy.golang.org,direct" steps: - - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - name: Install go + uses: actions/setup-go@v4 with: go-version: ${{ env.GO_VERSION }} @@ -181,10 +190,14 @@ jobs: name: Go Generate runs-on: "windows-2022" steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - name: Checkout + uses: actions/checkout@v3 + + - name: Install go + uses: actions/setup-go@v4 with: go-version: ${{ env.GO_VERSION }} + - name: Validate go generate shell: powershell run: | @@ -243,8 +256,11 @@ jobs: matrix: os: [windows-2019, windows-2022] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - name: Checkout + uses: actions/checkout@v3 + + - name: Install go + uses: actions/setup-go@v4 with: go-version: ${{ env.GO_VERSION }} @@ -304,10 +320,17 @@ jobs: os: [windows-2019, windows-2022] steps: - - uses: actions/setup-go@v4 + - name: Checkout hcsshim + uses: actions/checkout@v3 + with: + path: src/github.com/Microsoft/hcsshim + + - name: Install go + uses: actions/setup-go@v4 with: go-version: ${{ env.GO_VERSION }} check-latest: true + cache-dependency-path: src/github.com/Microsoft/hcsshim/go.sum - name: Set env shell: bash @@ -317,11 +340,6 @@ jobs: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH echo "${{ github.workspace }}/src/github.com/containerd/containerd/bin" >> $GITHUB_PATH - - uses: actions/checkout@v3 - with: - path: src/github.com/Microsoft/hcsshim - name: Checkout hcsshim - - name: Get containerd ref shell: powershell run: | @@ -500,8 +518,11 @@ jobs: needs: [test-windows, test-linux] runs-on: "windows-2022" steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - name: Checkout + uses: actions/checkout@v3 + + - name: Install go + uses: actions/setup-go@v4 with: go-version: ${{ env.GO_VERSION }}