-
Notifications
You must be signed in to change notification settings - Fork 47
test: add GOROOT runner baseline on main #1750
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
cpunion
wants to merge
44
commits into
goplus:main
Choose a base branch
from
cpunion:xfail/goroot-main-20260326
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
44 commits
Select commit
Hold shift + click to select a range
0b26861
build: prototype load-time source patches
cpunion ce3401e
test: lock iter source patch routing
cpunion 02ec9ee
build: support skip directives in source patches
cpunion 83c51d8
build: extend source patch directives
cpunion 21dad23
build: default source patches to active
cpunion 239b023
build: migrate unique to source patch
cpunion 3c10b84
build: migrate reflectlite to source patch
cpunion 532e073
build: preserve source patch positions
cpunion e09fe00
build: migrate runtime internals to source patches
cpunion 1f663fa
build: narrow source patch package coverage
cpunion 65522dd
build: tighten source patch helpers
cpunion ab1e850
build: narrow source patch package coverage
cpunion 3cfa0ae
build: skip source patches for missing stdlib packages
cpunion 5c187de
build: resolve source patch goroot from go env
cpunion d48e159
build: keep sync atomic on alt patches
cpunion 2242f98
build: preserve source patch diagnostics
cpunion 0de323e
build: honor build tags in source patches
cpunion 730a986
runtime: restore maps field comments
cpunion beda8b0
build: drop source patch nopatch directive
cpunion 46822e8
runtime: keep unique changes off source patch proto
cpunion b4e2d60
runtime: drop sync atomic skip from source patch proto
cpunion f81b151
build: simplify source patch diagnostics
cpunion ee679ac
build: add case-based source patch fixtures
cpunion bd685f8
test: flatten source patch fixture cases
cpunion 7424944
test: cover generic source patch declarations
cpunion e0c2ea2
cl: add boolToUint8 intrinsic
cpunion 9a5e5bb
runtime: add incremental go1.26 compat
cpunion 0d55b19
ci: extend llgo coverage to go1.26
cpunion 919a4e8
runtime: enable synctest compat on linux
cpunion 43f9242
test: isolate go1.26 source patch coverage
cpunion c3ccf9c
runtime: keep unique compat on go1.26 branch
cpunion ac44259
runtime: move go1.26 sync source patch files
cpunion 6b1e842
runtime: source patch crypto internal constanttime
cpunion 3ce72bb
test: add goroot runner baseline and sharded CI
cpunion fd5f75f
test: record go1.25 goroot xfails for ci
cpunion 4b0819a
test: expand goroot xfail entries
cpunion 0708915
test: address goroot runner review feedback
cpunion ab5a053
test: tolerate missing goroot test dirs
cpunion 0cb9a52
ci: expand goroot matrix across go versions
cpunion 4ab3995
ci: drop unsupported low go versions from goroot matrix
cpunion d774ece
ci: drop go1.23 from goroot matrix
cpunion e434045
test: record go1.24 and go1.26 goroot xfails
cpunion 0e375b3
goroot: drop stale linux xfails for go1.25 and go1.26
cpunion 0187bbc
goroot: drop stale darwin xfails for go1.25 and go1.26
cpunion File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,132 @@ | ||
| name: GOROOT | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - "**" | ||
| - "!dependabot/**" | ||
| - "!xgopilot/**" | ||
| pull_request: | ||
| branches: ["**"] | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| goroot: | ||
| name: GOROOT (${{ matrix.os }}, Go ${{ matrix.go-version }}, shard ${{ matrix.shard-label }}) | ||
| continue-on-error: ${{ matrix.required != 'true' }} | ||
| timeout-minutes: 90 | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| include: | ||
| - os: macos-latest | ||
| llvm: 19 | ||
| go-version: "1.24.11" | ||
| shard-index: "0" | ||
| shard-total: "2" | ||
| shard-label: "0/2" | ||
| required: "false" | ||
| - os: macos-latest | ||
| llvm: 19 | ||
| go-version: "1.24.11" | ||
| shard-index: "1" | ||
| shard-total: "2" | ||
| shard-label: "1/2" | ||
| required: "false" | ||
| - os: ubuntu-latest | ||
| llvm: 19 | ||
| go-version: "1.24.11" | ||
| shard-index: "0" | ||
| shard-total: "2" | ||
| shard-label: "0/2" | ||
| required: "false" | ||
| - os: ubuntu-latest | ||
| llvm: 19 | ||
| go-version: "1.24.11" | ||
| shard-index: "1" | ||
| shard-total: "2" | ||
| shard-label: "1/2" | ||
| required: "false" | ||
| - os: macos-latest | ||
| llvm: 19 | ||
| go-version: "1.25.0" | ||
| shard-index: "0" | ||
| shard-total: "2" | ||
| shard-label: "0/2" | ||
| required: "true" | ||
| - os: macos-latest | ||
| llvm: 19 | ||
| go-version: "1.25.0" | ||
| shard-index: "1" | ||
| shard-total: "2" | ||
| shard-label: "1/2" | ||
| required: "true" | ||
| - os: ubuntu-latest | ||
| llvm: 19 | ||
| go-version: "1.25.0" | ||
| shard-index: "0" | ||
| shard-total: "2" | ||
| shard-label: "0/2" | ||
| required: "true" | ||
| - os: ubuntu-latest | ||
| llvm: 19 | ||
| go-version: "1.25.0" | ||
| shard-index: "1" | ||
| shard-total: "2" | ||
| shard-label: "1/2" | ||
| required: "true" | ||
| - os: macos-latest | ||
| llvm: 19 | ||
| go-version: "1.26.0" | ||
| shard-index: "0" | ||
| shard-total: "2" | ||
| shard-label: "0/2" | ||
| required: "false" | ||
| - os: macos-latest | ||
| llvm: 19 | ||
| go-version: "1.26.0" | ||
| shard-index: "1" | ||
| shard-total: "2" | ||
| shard-label: "1/2" | ||
| required: "false" | ||
| - os: ubuntu-latest | ||
| llvm: 19 | ||
| go-version: "1.26.0" | ||
| shard-index: "0" | ||
| shard-total: "2" | ||
| shard-label: "0/2" | ||
| required: "false" | ||
| - os: ubuntu-latest | ||
| llvm: 19 | ||
| go-version: "1.26.0" | ||
| shard-index: "1" | ||
| shard-total: "2" | ||
| shard-label: "1/2" | ||
| required: "false" | ||
| runs-on: ${{ matrix.os }} | ||
| steps: | ||
| - uses: actions/checkout@v6 | ||
|
|
||
| - name: Install dependencies | ||
| uses: ./.github/actions/setup-deps | ||
| with: | ||
| llvm-version: ${{ matrix.llvm }} | ||
|
|
||
| - name: Set up Go | ||
| uses: ./.github/actions/setup-go | ||
| with: | ||
| go-version: ${{ matrix.go-version }} | ||
|
|
||
| - name: Show toolchain versions | ||
| run: | | ||
| go version | ||
| clang --version | ||
|
|
||
| - name: Run GOROOT runner | ||
| run: | | ||
| bash dev/test_goroot.sh -- \ | ||
| -shard-index "${{ matrix.shard-index }}" \ | ||
| -shard-total "${{ matrix.shard-total }}" | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| #!/usr/bin/env bash | ||
| set -euo pipefail | ||
|
|
||
| repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | ||
|
|
||
| runner_args=() | ||
| goroots=() | ||
| after_delim=0 | ||
| for arg in "$@"; do | ||
| if [[ "$arg" == "--" ]]; then | ||
| after_delim=1 | ||
| continue | ||
| fi | ||
| if [[ $after_delim -eq 1 ]]; then | ||
| runner_args+=("$arg") | ||
| else | ||
| goroots+=("$arg") | ||
| fi | ||
| done | ||
|
|
||
| if [[ ${#goroots[@]} -eq 0 ]]; then | ||
| if [[ -n "${LLGO_GOROOT_MATRIX:-}" ]]; then | ||
| IFS=':' read -r -a goroots <<<"${LLGO_GOROOT_MATRIX}" | ||
| else | ||
| goroots=("$(go env GOROOT)") | ||
| fi | ||
| fi | ||
|
|
||
| for goroot in "${goroots[@]}"; do | ||
| go_bin="$goroot/bin/go" | ||
| if [[ ! -x "$go_bin" ]]; then | ||
| echo "error: missing go binary: $go_bin" >&2 | ||
| exit 2 | ||
| fi | ||
| version="$("$go_bin" env GOVERSION)" | ||
| echo "==== $version ($goroot) ====" | ||
| ( | ||
| cd "$repo_root" | ||
| go test ./test/goroot -count=1 -timeout 90m -args -goroot "$goroot" "${runner_args[@]}" | ||
| ) | ||
| done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.