Reverts "update to go1.21.4" due to regressions / breaking changes." This reverts commit4cf1c50ad1. This re-applies commit6472dabe4c. ---- update to go1.21.4 go1.21.4 (released 2023-11-07) includes security fixes to the path/filepath package, as well as bug fixes to the linker, the runtime, the compiler, and the go/types, net/http, and runtime/cgo packages. See the Go 1.21.4 milestone on our issue tracker for details: - https://github.com/golang/go/issues?q=milestone%3AGo1.21.4+label%3ACherryPickApproved - full diff: https://github.com/golang/go/compare/go1.21.3...go1.21.4 from the security mailing: [security] Go 1.21.4 and Go 1.20.11 are released Hello gophers, We have just released Go versions 1.21.4 and 1.20.11, minor point releases. These minor releases include 2 security fixes following the security policy: - path/filepath: recognize `\??\` as a Root Local Device path prefix. On Windows, a path beginning with `\??\` is a Root Local Device path equivalent to a path beginning with `\\?\`. Paths with a `\??\` prefix may be used to access arbitrary locations on the system. For example, the path `\??\c:\x` is equivalent to the more common path c:\x. The filepath package did not recognize paths with a `\??\` prefix as special. Clean could convert a rooted path such as `\a\..\??\b` into the root local device path `\??\b`. It will now convert this path into `.\??\b`. `IsAbs` did not report paths beginning with `\??\` as absolute. It now does so. VolumeName now reports the `\??\` prefix as a volume name. `Join(`\`, `??`, `b`)` could convert a seemingly innocent sequence of path elements into the root local device path `\??\b`. It will now convert this to `\.\??\b`. This is CVE-2023-45283 and https://go.dev/issue/63713. - path/filepath: recognize device names with trailing spaces and superscripts The `IsLocal` function did not correctly detect reserved names in some cases: - reserved names followed by spaces, such as "COM1 ". - "COM" or "LPT" followed by a superscript 1, 2, or 3. `IsLocal` now correctly reports these names as non-local. This is CVE-2023-45284 and https://go.dev/issue/63713. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
80 lines
2.0 KiB
YAML
80 lines
2.0 KiB
YAML
name: test
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
- '[0-9]+.[0-9]+'
|
|
tags:
|
|
- 'v*'
|
|
pull_request:
|
|
|
|
jobs:
|
|
ctn:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v4
|
|
-
|
|
name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
-
|
|
name: Test
|
|
uses: docker/bake-action@v4
|
|
with:
|
|
targets: test-coverage
|
|
-
|
|
name: Send to Codecov
|
|
uses: codecov/codecov-action@v3
|
|
with:
|
|
file: ./build/coverage/coverage.txt
|
|
|
|
host:
|
|
runs-on: ${{ matrix.os }}
|
|
env:
|
|
GOPATH: ${{ github.workspace }}
|
|
GOBIN: ${{ github.workspace }}/bin
|
|
GO111MODULE: auto
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os:
|
|
- macos-11
|
|
# - windows-2022 # FIXME: some tests are failing on the Windows runner, as well as on Appveyor since June 24, 2018: https://ci.appveyor.com/project/docker/cli/history
|
|
steps:
|
|
-
|
|
name: Prepare git
|
|
if: matrix.os == 'windows-latest'
|
|
run: |
|
|
git config --system core.autocrlf false
|
|
git config --system core.eol lf
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: ${{ env.GOPATH }}/src/github.com/docker/cli
|
|
-
|
|
name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: 1.21.4
|
|
-
|
|
name: Test
|
|
run: |
|
|
go test -coverprofile=/tmp/coverage.txt $(go list ./... | grep -vE '/vendor/|/e2e/')
|
|
go tool cover -func=/tmp/coverage.txt
|
|
working-directory: ${{ env.GOPATH }}/src/github.com/docker/cli
|
|
shell: bash
|
|
-
|
|
name: Send to Codecov
|
|
uses: codecov/codecov-action@v3
|
|
with:
|
|
file: /tmp/coverage.txt
|
|
working-directory: ${{ env.GOPATH }}/src/github.com/docker/cli
|