Skip to content

ci: add graalpy - #1090

Draft
henryiii wants to merge 1 commit into
mainfrom
henryiii/fix/graalpy
Draft

ci: add graalpy#1090
henryiii wants to merge 1 commit into
mainfrom
henryiii/fix/graalpy

Conversation

@henryiii

Copy link
Copy Markdown
Collaborator

Hitting an issue in scikit-hep/boost-histogram#1016:

 <         File "/tmp/pip-build-env-n4l8ms0l/overlay/lib/python3.11/site-
    packages/scikit_build_core/build/metadata.py", line 44, in
    get_standard_metadata
  <           new_pyproject_dict["project"] = process_dynamic_metadata(
  <         File "/tmp/pip-build-env-n4l8ms0l/overlay/lib/python3.11/site-
    packages/scikit_build_core/builder/_load_provider.py", line 149, in
    process_dynamic_metadata
  <           return dict(settings)
  <         File "/opt/_internal/graalpy311-
    graalpy242_311_native/lib/python3.11/_collections_abc.py", line 837, in
    __iter__
  <           yield from self._mapping
  <         File "/tmp/pip-build-env-n4l8ms0l/overlay/lib/python3.11/site-
    packages/scikit_build_core/builder/_load_provider.py", line 128, in __iter__
  <           yield from self.providers
  <       RuntimeError: dictionary changed size during iteration

Let's see if we can reproduce in tests.

@henryiii
henryiii force-pushed the henryiii/fix/graalpy branch from e4623f0 to 4472904 Compare June 1, 2025 05:33
@henryiii henryiii closed this Jun 1, 2025
@henryiii henryiii reopened this Jun 1, 2025
@henryiii
henryiii force-pushed the henryiii/fix/graalpy branch from 4472904 to e035bae Compare June 1, 2025 06:08
henryiii added a commit that referenced this pull request Jun 21, 2026
Add a graalpy-25.0 row to the test matrix and the supporting plumbing:

- pull numpy from the GraalVM wheel index (uv `--only-binary=numpy`,
  `--extra-index-url`, `--index-strategy=unsafe-best-match`, plus
  `[tool.uv.sources]`/`[[tool.uv.index]]` for local `uv` runs)
- pin `numpy==2.2.4` for graalpy (Python 3.12) in the `test-numpy` group
  and exclude graalpy from the default numpy marker
- run graalpy tests serially (no xdist) and skip coverage upload for it
- lift the job timeout to 90 min for the graalpy row only
  (`timeout-minutes: ${{ matrix.timeout || 40 }}`)

Squashed rebase of #1090 onto main; reconciled with main's move from
extras to dependency-groups (`--group=dev`) and the reworked Windows
matrix rows.

Assisted-by: ClaudeCode:claude-opus-4.8
@henryiii
henryiii force-pushed the henryiii/fix/graalpy branch from e035bae to eda4979 Compare June 21, 2026 03:26
henryiii added a commit that referenced this pull request Jun 21, 2026
Add a graalpy-25.0 row to the test matrix and the supporting plumbing:

- a graalpy-only install step pulls numpy from the GraalVM wheel index
  (`--only-binary=numpy`, `--extra-index-url`,
  `--index-strategy=unsafe-best-match`); `--no-config` bypasses the
  repo's `[tool.uv].exclude-newer`, which otherwise filters out the
  date-less GraalVM wheels. All other jobs keep the unmodified install,
  so normal pypi resolution is untouched.
- pin `numpy==2.2.4` for graalpy (Python 3.12) in the `test-numpy` group
  and exclude graalpy from the default numpy marker
- run graalpy tests serially (no xdist) and skip coverage upload for it
- lift the job timeout to 90 min for the graalpy row only
  (`timeout-minutes: ${{ matrix.timeout || 40 }}`)

Squashed rebase of #1090 onto main; reconciled with main's move from
extras to dependency-groups (`--group=dev`) and the reworked Windows
matrix rows.

Assisted-by: ClaudeCode:claude-opus-4.8
@henryiii
henryiii force-pushed the henryiii/fix/graalpy branch from eda4979 to ac3c4d9 Compare June 21, 2026 04:21
@henryiii henryiii added the graalpy Run the (slow) GraalPy CI job on this PR label Jun 21, 2026
henryiii added a commit that referenced this pull request Jun 21, 2026
Add a graalpy-25.0 row to the test matrix and the supporting plumbing:

- a graalpy-only install step pulls numpy from the GraalVM wheel index
  (`--only-binary=numpy`, `--extra-index-url`,
  `--index-strategy=unsafe-best-match`); `--no-config` bypasses the
  repo's `[tool.uv].exclude-newer`, which otherwise filters out the
  date-less GraalVM wheels. All other jobs keep the unmodified install,
  so normal pypi resolution is untouched.
- pin `numpy==2.2.4` for graalpy (Python 3.12) in the `test-numpy` group
  and exclude graalpy from the default numpy marker
- run graalpy tests serially (no xdist) and skip coverage upload for it
- lift the job timeout to 90 min for the graalpy row only
  (`timeout-minutes: ${{ matrix.timeout || 40 }}`)

Squashed rebase of #1090 onto main; reconciled with main's move from
extras to dependency-groups (`--group=dev`) and the reworked Windows
matrix rows.

Assisted-by: ClaudeCode:claude-opus-4.8
@henryiii
henryiii force-pushed the henryiii/fix/graalpy branch from ac3c4d9 to fb09af0 Compare June 21, 2026 18:28
Add a graalpy-25.0 row to the test matrix and the supporting plumbing:

- a graalpy-only install step pulls numpy from the GraalVM wheel index
  (`--only-binary=numpy`, `--extra-index-url`,
  `--index-strategy=unsafe-best-match`); `--no-config` bypasses the
  repo's `[tool.uv].exclude-newer`, which otherwise filters out the
  date-less GraalVM wheels. All other jobs keep the unmodified install,
  so normal pypi resolution is untouched.
- pin `numpy==2.2.4` for graalpy (Python 3.12) in the `test-numpy` group
  and exclude graalpy from the default numpy marker
- run graalpy tests serially (no xdist) and skip coverage upload for it
- lift the job timeout to 90 min for the graalpy row only
  (`timeout-minutes: ${{ matrix.timeout || 40 }}`)

Squashed rebase of #1090 onto main; reconciled with main's move from
extras to dependency-groups (`--group=dev`) and the reworked Windows
matrix rows.

Assisted-by: ClaudeCode:claude-opus-4.8
@henryiii
henryiii force-pushed the henryiii/fix/graalpy branch from fb09af0 to 9099b31 Compare June 22, 2026 03:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

graalpy Run the (slow) GraalPy CI job on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant