Skip to content

Commit 5feaa45

Browse files
committed
[GR-21590] Import update
PullRequest: graalpython/4349
2 parents 1eafc08 + 8d5dc06 commit 5feaa45

19 files changed

Lines changed: 221 additions & 222 deletions

File tree

.agents/skills/graalpython-rota/SKILL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: graalpython-rota
3-
description: Run GraalPy ROTA maintenance workflows for (1) import update pull requests and (2) triage of recent periodic job failures in Jira. Use when asked to perform or guide recurring ROTA tasks from `docs/contributor/ROTA.md`, including branch setup, `mx` update commands, PR creation with reviewers/gates via `ol-cli bitbucket`, and date-bounded periodic-failure issue triage via `ol-cli jira`.
3+
description: Run GraalPy ROTA maintenance workflows for (1) import update pull requests and (2) triage of recent periodic job failures in Jira. Use when asked to perform or guide recurring ROTA tasks from `docs/contributor/ROTA.md`, including branch setup, `mx` update commands, PR creation with reviewers/gates via `gdev-cli bitbucket`, and date-bounded periodic-failure issue triage via `gdev-cli jira`.
44
---
55

66
# GraalPy ROTA
@@ -32,7 +32,7 @@ mx python-update-import
3232
mx --dy /graalpython-enterprise python-update-unittest-tags
3333
```
3434
4. Create PR with description `[GR-21590] Import update`.
35-
5. Use `ol-cli bitbucket` to create PR, start gates, and set reviewers:
35+
5. Use `gdev-cli bitbucket` to create PR, start gates, and set reviewers:
3636
- `tim.felgentreff@oracle.com`
3737
- `michael.simacek@oracle.com`
3838
- `stepan.sindelar@oracle.com`
@@ -47,14 +47,14 @@ mx --dy /graalpython-enterprise python-update-unittest-tags
4747
- Default to the last 14 days unless user specifies otherwise.
4848
- Always state concrete start/end calendar dates in the response.
4949
```bash
50-
ol-cli jira search --json --max 100 \
50+
gdev-cli jira search --json --max 100 \
5151
-f key,summary,creator,created,status,labels,components,assignee \
5252
-jql "project = GR AND component = Python AND creator = olauto AND labels = periodic-job-failures AND created >= -14d AND status != Closed AND status != 'In Progress' ORDER BY created DESC"
5353
```
5454

5555
3. Fetch shortlisted issue details with `get-issue`:
5656
```bash
57-
ol-cli jira get-issue --json -id GR-XXXX \
57+
gdev-cli jira get-issue --json -id GR-XXXX \
5858
| jq '{key, summary:.fields.summary, status:.fields.status.name, created:.fields.created, labels:.fields.labels, assignee:(.fields.assignee.name // null), description:.fields.description, comments:(.fields.comment.comments | map({author:.author.name, created, body}))}'
5959
```
6060

.agents/skills/jira/SKILL.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ Typical fields you need to know:
2222

2323
### 1. Getting context
2424

25-
To get the issue data, start with `ol-cli`, for example:
25+
To get the issue data, start with `gdev-cli`, for example:
2626

27-
ol-cli jira get-issue --json -id GR-72840
27+
gdev-cli jira get-issue --json -id GR-72840
2828

2929
Read the description and follow any links that seem relevant.
3030

@@ -33,7 +33,7 @@ Run this in a subagent if possible and let it give you a summary.
3333
### 2. Check if there is work to do
3434

3535
Issues may be stale, already solved, or no longer apply. Search the context and
36-
logs for other potentially relevant keywords, use `ol-cli jira search` to find
36+
logs for other potentially relevant keywords, use `gdev-cli jira search` to find
3737
out if there are potentially other related issues, query the codebase and git
3838
history and look for reproducers.
3939

@@ -56,27 +56,27 @@ just a script to reproduce it. Do NOT write new tests in
5656
using `mx graalpytest`.
5757

5858
Reproducing something that fails rarely or only on another architecture or in
59-
the CI may be tough, but can be achieved using `ol-cli bitbucket` and running
59+
the CI may be tough, but can be achieved using `gdev-cli bitbucket` and running
6060
in the gate, stress testing there.
6161

6262
1. Create a temporary branch.
6363
2. Potentially add a new CI job to run just the reproducer.
6464
3. Push to Bitbucket.
65-
4. Open a PR using ol-cli bitbucket.
65+
4. Open a PR using gdev-cli bitbucket.
6666
5. Use the bitbucket buildbot REST API to request a merge commit `/rest/ci/1.0/base/projects/G/repos/<REPO>/pullRequest/<PRID>/mergeCommit`. You need a `Authorizatin: Bearer <TOKEN>` header.
67-
Make sure to disable any proxy environment variables for the API call. You should be able to find the token by decoding the base64 token from the ol-cli config.
67+
Make sure to disable any proxy environment variables for the API call. You should be able to find the token by decoding the base64 token from the gdev-cli config.
6868
6. Wait a bit, the CI will create a new commit on a branch. The name of that branch is `<BRANCHNAME_YOU_PUSHED>_gate`. Use `git fetch` to see the branch update come in.
6969
7. Use the bitbucket buildbot REST API to request CI job enumeration for the HEAD commit of that `<BRANCHNAME_YOU_PUSHED>_gate` branch: `/rest/ci/1.0/base/projects/G/repos/<REPO>/enumerate/<COMMIT>?branch=<URL_ENCODED_BRANCH_NAME>&force=false&toBranch=master`
7070
8. Wait a bit, the CI will enumerate the available CI jobs on that commit.
71-
9. Use ol-cli bitbucket to start your reproducer job on that commit.
71+
9. Use gdev-cli bitbucket to start your reproducer job on that commit.
7272
10. Repeat steps 3 through 9 until you are satisfied with the reproducer.
7373

7474
DO NOT STOP POLLING AND RETRYING UNTIL EITHER YOU REPRODUCE THE ISSUE, MORE
7575
THAN 8 HOURS HAVE ELAPSED WHILE YOU TRIED, OR YOU HAVE USED AT LEAST AROUND 2
7676
MILLION TOKENS (you may estimate from the conversation history) WHILE TRYING!
7777

7878
Make sure to decline the temporary reproducer PR once you are done with it
79-
using `ol-cli bitbucket`.
79+
using `gdev-cli bitbucket`.
8080

8181
### 4a. Fixing a reproducible issue.
8282

@@ -99,7 +99,7 @@ issue. Then STOP AND ASK for guidance.
9999
Once a code change has been implemented and verified (either with reproducer or
100100
by approval of the human user), it needs to be prepared for inclusion.
101101

102-
Transition the Jira issue to be "In Progress" using `ol-cli jira transition`.
102+
Transition the Jira issue to be "In Progress" using `gdev-cli jira transition`.
103103

104104
Make sure your changes are committed in reviewable, focused, incremental
105105
commits.
@@ -111,13 +111,13 @@ comments carefully, change the code where the subagent's comments make sense.
111111
Create a bitbucket PR
112112

113113
1. Push your branch.
114-
2. Open a PR using ol-cli bitbucket with a title including the Jira issue ID, like "[GR-XXXXX] Short description of overall fix."
114+
2. Open a PR using gdev-cli bitbucket with a title including the Jira issue ID, like "[GR-XXXXX] Short description of overall fix."
115115
3. Use the bitbucket buildbot REST API to request a merge commit `/rest/ci/1.0/base/projects/G/repos/<REPO>/pullRequest/<PRID>/mergeCommit`. You need a `Authorizatin: Bearer <TOKEN>` header.
116-
Make sure to disable any proxy environment variables for the API call. You should be able to find the token by decoding the base64 token from the ol-cli config.
116+
Make sure to disable any proxy environment variables for the API call. You should be able to find the token by decoding the base64 token from the gdev-cli config.
117117
4. Wait a bit, the CI will create a new commit on a branch. The name of that branch is `<BRANCHNAME_YOU_PUSHED>_gate`. Use `git fetch` to see the branch update come in.
118118
5. Use the bitbucket buildbot REST API to request CI job enumeration for the HEAD commit of that `<BRANCHNAME_YOU_PUSHED>_gate` branch: `/rest/ci/1.0/base/projects/G/repos/<REPO>/enumerate/<COMMIT>?branch=<URL_ENCODED_BRANCH_NAME>&force=false&toBranch=master`
119119
6. Wait a bit, the CI will enumerate the available CI jobs on that commit.
120-
7. Use ol-cli bitbucket to start and watch the gate jobs on the HEAD commit of that `<BRANCHNAME_YOU_PUSHED>_gate` branch. They may take a few hours to finish, so poll sparingly.
120+
7. Use gdev-cli bitbucket to start and watch the gate jobs on the HEAD commit of that `<BRANCHNAME_YOU_PUSHED>_gate` branch. They may take a few hours to finish, so poll sparingly.
121121
8. If there are failures, investigate them and try to fix them yourself on top of the PR.
122122
9. Repeat steps 1 through 8 until the gates pass or you need help from the human.
123123

@@ -128,7 +128,7 @@ been implemented and the PR created, the Jira issue needs to be updated.
128128

129129
You can do this in parallel while watching the Bitbucket PR from step 5.
130130

131-
Add a comment using `ol-cli jira comment` to the Jira issue, summarizing your
131+
Add a comment using `gdev-cli jira comment` to the Jira issue, summarizing your
132132
findings and any work you may have done. Do NOT use Attlassian markup, the
133133
comment just ONLY be PLAIN TEXT. For paragraphs, just use double '\n'. You can
134134
make plaintext lists by making lines begin with '* '. Do NOT use ADF, use raw

.agents/skills/pr-gate-check/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ description: Check gate status for a Bitbucket PR by resolving the PR head commi
99
Use this workflow when asked for gate status of a PR. Usually the builds are tied to a merge commit generated on Bitbucket, so this skill goes through finding the remote merge commit.
1010

1111
## Workflow
12-
1. Get PR commits and identify PR head commit (first commit in `ol-cli bitbucket commits` output):
12+
1. Get PR commits and identify PR head commit (first commit in `gdev-cli bitbucket commits` output):
1313
```bash
14-
ol-cli bitbucket commits --project=G --repo=graalpython --pullrequest=<PR_ID> --all --json
14+
gdev-cli bitbucket commits --project=G --repo=graalpython --pullrequest=<PR_ID> --all --json
1515
```
1616

1717
2. Fetch refs and locate merge commit whose parent includes PR head:
@@ -24,7 +24,7 @@ Pick the merge commit where one parent is `<PR_HEAD_SHA>` and the other is the t
2424

2525
3. Check builds on that merge commit:
2626
```bash
27-
ol-cli bitbucket get-builds --commit=<MERGE_SHA> --all --format=key,state,url
27+
gdev-cli bitbucket get-builds --commit=<MERGE_SHA> --all --format=key,state,url
2828
```
2929

3030
4. Separate root failures from fan-out failures:

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,5 +77,5 @@ It consists of: Java (Truffle) + C (CPython C-API compatibility) + Python stdlib
7777

7878
We use Jira and Bitbucket, and each PR should reference a Jira ticket with the form [GR-XXXX] where XXXX is the ticket number.
7979
When asked to open pull requests, agents should ask for the Jira ticket number.
80-
When asked to create a ticket, the `ol-cli jira` tool can be used to create a ticket for the "Python" component.
81-
When asked to create, run gates on, or check on the builds previously run on a pull request, use the `ol-cli bitbucket` tool.
80+
When asked to create a ticket, the `gdev-cli jira` tool can be used to create a ticket for the "Python" component.
81+
When asked to create, run gates on, or check on the builds previously run on a pull request, use the `gdev-cli bitbucket` tool.

ci/graal/ci/common.jsonnet

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ local common_json = import "../common.json";
166166
"Graal diagnostic output saved in '(?P<filename>[^']+)'",
167167
# Keep in sync with jdk.graal.compiler.debug.DebugContext#DUMP_FILE_MESSAGE_REGEXP
168168
"Dumping debug output to '(?P<filename>[^']+)'",
169-
# Keep in sync with com.oracle.svm.hosted.NativeImageOptions#DEFAULT_ERROR_FILE_NAME
170-
" (?P<filename>.+/svm_err_b_\\d+T\\d+\\.\\d+_pid\\d+\\.md)",
169+
# Keep in sync with com.oracle.svm.hosted.ProgressReporter#printErrorMessage
170+
"Please inspect the generated error report at: '(?P<filename>[^']+)'",
171171
# Keep in sync with jdk.graal.compiler.test.SubprocessUtil#makeArgfile
172172
"@(?P<filename>.*SubprocessUtil-argfiles.*\\.argfile)",
173173
# Keep in sync with com.oracle.truffle.api.test.SubprocessTestUtils#makeArgfile
@@ -192,19 +192,6 @@ local common_json = import "../common.json";
192192
packages+: if self.os == "windows" then $.devkits["windows-" + self.jdk_name].packages else {},
193193
},
194194

195-
eclipse: {
196-
downloads+: {
197-
ECLIPSE: {
198-
name: "eclipse",
199-
version: common_json.eclipse.version,
200-
platformspecific: true,
201-
}
202-
},
203-
environment+: {
204-
ECLIPSE_EXE: "$ECLIPSE/eclipse",
205-
},
206-
},
207-
208195
jdt: {
209196
environment+: {
210197
JDT: "builtin",

ci/graal/common.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"Jsonnet files should not include this file directly but use ci/common.jsonnet instead."
55
],
66

7-
"mx_version": "7.74.1",
7+
"mx_version": "7.75.0",
88

99
"COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet",
1010
"jdks": {
@@ -67,8 +67,8 @@
6767

6868
"pip": {
6969
"ninja_syntax": "==1.7.2",
70-
"lazy-object-proxy": "==1.6.0",
71-
"pylint": "==2.4.4",
70+
"lazy-object-proxy": "==1.10.0",
71+
"pylint": "==3.2.7",
7272
"black": "==23.11.0"
7373
}
7474
}

ci/python-gate.libsonnet

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -376,17 +376,6 @@
376376
packages(os, arch)::
377377
get(PACKAGES, os, arch),
378378

379-
local eclipse = task_spec(evaluate_late({
380-
// late evaluation of the eclipse mixin, conditional import based on platform
381-
// eclipse downloads are not provided for aarch64
382-
"eclipse": function(builder)
383-
local arch = builder.arch;
384-
if arch == "aarch64" then
385-
{}
386-
else
387-
common.deps.eclipse
388-
})),
389-
390379
logs(os, arch):: LOGS,
391380

392381
//------------------------------------------------------------------------------------------------------------------
@@ -501,7 +490,7 @@
501490
dynamic_imports+:: ["/graalpython"],
502491
}),
503492

504-
graalpy_eclipse_gate:: $.graalpy_gate + eclipse + jdt,
493+
graalpy_eclipse_gate:: $.graalpy_gate + jdt,
505494

506495
unittest_retagger_gate:: $.graalpy_gate + task_spec({
507496
environment+: {

graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_capi.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ test.test_capi.test_abstract.CAPITest.test_mapping_haskey @ darwin-arm64,linux-a
33
test.test_capi.test_abstract.CAPITest.test_mapping_haskeystring @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
44
test.test_capi.test_abstract.CAPITest.test_mapping_keys_valuesitems @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
55
test.test_capi.test_abstract.CAPITest.test_mapping_size @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
6+
test.test_capi.test_abstract.CAPITest.test_object_ascii @ darwin-arm64,linux-aarch64,linux-x86_64
67
test.test_capi.test_abstract.CAPITest.test_object_bytes @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
78
test.test_capi.test_abstract.CAPITest.test_object_delattr @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
89
test.test_capi.test_abstract.CAPITest.test_object_getattr @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github

graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_cmd_line.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ test.test_cmd_line.CmdLineTest.test_run_module @ darwin-arm64,linux-aarch64,linu
1616
test.test_cmd_line.CmdLineTest.test_run_module_bug1764407 @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
1717
test.test_cmd_line.CmdLineTest.test_site_flag @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
1818
test.test_cmd_line.CmdLineTest.test_stdin_readline @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
19+
test.test_cmd_line.CmdLineTest.test_stdout_flush_at_shutdown @ darwin-arm64,linux-aarch64,linux-x86_64
1920
test.test_cmd_line.CmdLineTest.test_unbuffered_input @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
2021
test.test_cmd_line.CmdLineTest.test_unbuffered_output @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
2122
test.test_cmd_line.CmdLineTest.test_unmached_quote @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
2223
test.test_cmd_line.CmdLineTest.test_verbose @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
2324
test.test_cmd_line.IgnoreEnvironmentTest.test_ignore_PYTHONPATH @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
25+
test.test_cmd_line.SyntaxErrorTests.test_decoding_error_at_the_end_of_the_line @ darwin-arm64,linux-aarch64,linux-x86_64
26+
test.test_cmd_line.SyntaxErrorTests.test_tokenizer_error_with_stdin @ darwin-arm64,linux-aarch64,linux-x86_64

graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_concurrent_futures.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_co
77
test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_duplicate_futures @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
88
test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_future_times_out @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
99
test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_no_timeout @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
10+
# Transiently times out GR-65714
11+
!test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_crash_at_task_unpickle
1012
test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_error_at_task_pickle @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
1113
test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_error_at_task_unpickle @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
1214
test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_error_during_func_exec_on_worker @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
@@ -16,8 +18,6 @@ test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.
1618
test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_exit_during_func_exec_on_worker @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
1719
test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_exit_during_result_pickle_on_worker @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
1820
test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_exit_during_result_unpickle_in_result_handler @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github
19-
# Transiently times out GR-65714
20-
!test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_crash_at_task_unpickle
2121
!test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_gh105829_should_not_deadlock_if_wakeup_pipe_full
2222
!test.test_concurrent_futures.test_deadlock.ProcessPoolSpawnExecutorDeadlockTest.test_shutdown_deadlock_pickle
2323
!test.test_concurrent_futures.test_future.FutureTests.test_cancel

0 commit comments

Comments
 (0)