add and test initial support for Go 1.22

The Go 1.21 linker patches luckily rebased on master as of
de5b418bea70aaf27de1f47e9b5813940d1e15a4 just fine.
The addition of the strings import in the second patch was removed,
since the file in Go 1.22 now has this package import.

We can remove the Go 1.20 linker patches too, since we no longer support
that Go version in the upcoming release.

Start treating runtime/internal/startlinetest as part of the runtime,
since otherwise its test-only trickery breaks "garble build std":

    # runtime/internal/startlinetest
    [...]/XS7r7lPHkTG.s:23: ABI selector only permitted when compiling runtime, reference was to "HGoWHDsKwh.AlfA2or7Nnb"
    asm: assembly of $WORK/.tmp/garble-shared1535203339/HGoWHDsKwh/XS7r7lPHkTG.s failed

While here, update actions/checkout and staticcheck in CI.
This commit is contained in:
Daniel Martí
2023-12-02 22:24:07 +00:00
committed by pagran
parent 9378ec959a
commit d283d8479c
8 changed files with 107 additions and 93 deletions

View File

@@ -29,7 +29,7 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}
@@ -66,7 +66,7 @@ jobs:
- if: matrix.os == 'ubuntu-latest' && matrix.go-version == '1.21.x'
uses: dominikh/staticcheck-action@v1
with:
version: "2023.1.3"
version: "2023.1.6"
install-go: false
# We don't care about GOARCH=386 particularly, hence -short,
@@ -78,7 +78,7 @@ jobs:
env:
GOARCH: 386
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
with:
go-version: 1.21.x
@@ -86,13 +86,12 @@ jobs:
- run: go test -short ./...
test-gotip:
if: false # let tip for 1.22 settle first
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Go
env:
GO_COMMIT: a031f4ef83edc132d5f49382bfef491161de2476 # 2023-06-24
GO_COMMIT: de5b418bea70aaf27de1f47e9b5813940d1e15a4 # 2023-12-02
run: |
cd $HOME
mkdir $HOME/gotip
@@ -100,7 +99,7 @@ jobs:
wget -O gotip.tar.gz https://go.googlesource.com/go/+archive/${GO_COMMIT}.tar.gz
tar -xf gotip.tar.gz
echo "devel go1.21-${GO_COMMIT}" >VERSION
echo "devel go1.22-${GO_COMMIT}" >VERSION
cd src
./make.bash