From f1bb28fe91c20b345ce5934ade04dddf8570ee33 Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: 2025年7月21日 11:59:23 +0200 Subject: [PATCH 1/7] Revert "Start 26.0.0 dev cycle." This reverts commit 7c921ba69d98594c7e1043e20e3f93cc2cfecd7f. --- ci.jsonnet | 2 +- .../com.oracle.graal.python.test.integration/pom.xml | 2 +- .../src/tests/standalone/gradle/build/build.gradle | 2 +- .../src/tests/standalone/gradle/build/build.gradle.kts | 2 +- .../src/tests/standalone/jbang/EmptyPIPComments.j | 2 +- .../src/tests/standalone/jbang/EmptyPythonResourceComment.j | 2 +- .../standalone/jbang/EmptyPythonResourceCommentWithBlanks.j | 2 +- .../src/tests/standalone/jbang/NoPackagesResourcesDir.j | 2 +- .../src/tests/standalone/jbang/TwoPythonResourceComments.j | 2 +- graalpython/graalpy-archetype-polyglot-app/pom.xml | 2 +- .../src/main/resources/archetype-resources/pom.xml | 2 +- graalpython/graalpy-jbang/examples/hello.java | 2 +- .../graalpy-jbang/templates/graalpy-template.java.qute | 2 +- .../templates/graalpy-template_local_repo.java.qute | 2 +- graalpython/graalpy-maven-plugin/pom.xml | 4 ++-- mx.graalpython/suite.py | 6 +++--- 16 files changed, 19 insertions(+), 19 deletions(-) diff --git a/ci.jsonnet b/ci.jsonnet index 6be33ca356..fa51abc508 100644 --- a/ci.jsonnet +++ b/ci.jsonnet @@ -5,7 +5,7 @@ (import "ci/python-gate.libsonnet") + (import "ci/python-bench.libsonnet") + { - overlay: "a8df46e16d6fcae69e9a7c42c632131fdf6e043e", + overlay: "907f84a98fe5736824d2964e8815d75d0511d39d", specVersion: "6", // Until buildbot issues around CI tiers are resolved, we cannot use them // tierConfig: self.tierConfig, diff --git a/graalpython/com.oracle.graal.python.test.integration/pom.xml b/graalpython/com.oracle.graal.python.test.integration/pom.xml index 821bf9b499..d0ef746e1c 100644 --- a/graalpython/com.oracle.graal.python.test.integration/pom.xml +++ b/graalpython/com.oracle.graal.python.test.integration/pom.xml @@ -64,7 +64,7 @@ Additionally, one can change the polyglot artifacts version with 17 17 UTF-8 - 26.0.0 + 25.0.0 diff --git a/graalpython/com.oracle.graal.python.test/src/tests/standalone/gradle/build/build.gradle b/graalpython/com.oracle.graal.python.test/src/tests/standalone/gradle/build/build.gradle index 2e2aec2d58..c9b31ffe75 100644 --- a/graalpython/com.oracle.graal.python.test/src/tests/standalone/gradle/build/build.gradle +++ b/graalpython/com.oracle.graal.python.test/src/tests/standalone/gradle/build/build.gradle @@ -1,6 +1,6 @@ plugins { id "application" - id 'org.graalvm.python' version '26.0.0' + id 'org.graalvm.python' version '25.0.0' id "org.graalvm.buildtools.native" version "0.10.2" } diff --git a/graalpython/com.oracle.graal.python.test/src/tests/standalone/gradle/build/build.gradle.kts b/graalpython/com.oracle.graal.python.test/src/tests/standalone/gradle/build/build.gradle.kts index 4e690802dc..ee72dfe3de 100644 --- a/graalpython/com.oracle.graal.python.test/src/tests/standalone/gradle/build/build.gradle.kts +++ b/graalpython/com.oracle.graal.python.test/src/tests/standalone/gradle/build/build.gradle.kts @@ -1,6 +1,6 @@ plugins { application - id("org.graalvm.python") version "26.0.0" + id("org.graalvm.python") version "25.0.0" id("org.graalvm.buildtools.native") version "0.10.2" } diff --git a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPIPComments.j b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPIPComments.j index 98fb3a2bf9..098695dccb 100644 --- a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPIPComments.j +++ b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPIPComments.j @@ -1,6 +1,6 @@ ///usr/bin/env jbang "0ドル" "$@" ; exit $? -//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:26.0.0} +//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:25.0.0} //PIP // one blank after PIP //PIP diff --git a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPythonResourceComment.j b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPythonResourceComment.j index 755f47fda0..89f5758c5e 100644 --- a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPythonResourceComment.j +++ b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPythonResourceComment.j @@ -1,6 +1,6 @@ ///usr/bin/env jbang "0ドル" "$@" ; exit $? -//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:26.0.0} +//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:25.0.0} //PYTHON_RESOURCES_DIRECTORY public class EmptyPythonResourceComment { diff --git a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPythonResourceCommentWithBlanks.j b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPythonResourceCommentWithBlanks.j index 2cccc74fa2..fcb93bdc33 100644 --- a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPythonResourceCommentWithBlanks.j +++ b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/EmptyPythonResourceCommentWithBlanks.j @@ -1,6 +1,6 @@ ///usr/bin/env jbang "0ドル" "$@" ; exit $? -//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:26.0.0} +//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:25.0.0} // resource dir with blanks //PYTHON_RESOURCES_DIRECTORY diff --git a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/NoPackagesResourcesDir.j b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/NoPackagesResourcesDir.j index d2f47bddcd..c2255aca6c 100644 --- a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/NoPackagesResourcesDir.j +++ b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/NoPackagesResourcesDir.j @@ -1,6 +1,6 @@ ///usr/bin/env jbang "0ドル" "$@" ; exit $? -//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:26.0.0} +//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:25.0.0} //PYTHON_RESOURCES_DIRECTORY python-resources public class NoPackagesResourcesDir { diff --git a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/TwoPythonResourceComments.j b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/TwoPythonResourceComments.j index 1dd614de03..3bd4381f51 100644 --- a/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/TwoPythonResourceComments.j +++ b/graalpython/com.oracle.graal.python.test/src/tests/standalone/jbang/TwoPythonResourceComments.j @@ -1,6 +1,6 @@ ///usr/bin/env jbang "0ドル" "$@" ; exit $? -//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:26.0.0} +//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:25.0.0} //PYTHON_RESOURCES_DIRECTORY //PYTHON_RESOURCES_DIRECTORY diff --git a/graalpython/graalpy-archetype-polyglot-app/pom.xml b/graalpython/graalpy-archetype-polyglot-app/pom.xml index 54cfb623cc..d08b5631bb 100644 --- a/graalpython/graalpy-archetype-polyglot-app/pom.xml +++ b/graalpython/graalpy-archetype-polyglot-app/pom.xml @@ -45,7 +45,7 @@ SOFTWARE. org.graalvm.python graalpy-archetype-polyglot-app - 26.0.0 + 25.0.0 http://www.graalvm.org/python Maven archetype providing a skeleton GraalPy - Java polyglot application. maven-archetype diff --git a/graalpython/graalpy-archetype-polyglot-app/src/main/resources/archetype-resources/pom.xml b/graalpython/graalpy-archetype-polyglot-app/src/main/resources/archetype-resources/pom.xml index cd4cebc76f..eb03184b9f 100644 --- a/graalpython/graalpy-archetype-polyglot-app/src/main/resources/archetype-resources/pom.xml +++ b/graalpython/graalpy-archetype-polyglot-app/src/main/resources/archetype-resources/pom.xml @@ -10,7 +10,7 @@ #set( $symbol_dollar = '$' ) - 26.0.0 + 25.0.0 python-community 0.10.4 17 diff --git a/graalpython/graalpy-jbang/examples/hello.java b/graalpython/graalpy-jbang/examples/hello.java index 1cd6805367..2afc0c82b3 100644 --- a/graalpython/graalpy-jbang/examples/hello.java +++ b/graalpython/graalpy-jbang/examples/hello.java @@ -40,7 +40,7 @@ */ ///usr/bin/env jbang "0ドル" "$@" ; exit $? //JAVA 17+ -//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:26.0.0} +//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:25.0.0} // specify python packages and their versions as if used with pip //PIP termcolor==2.2 diff --git a/graalpython/graalpy-jbang/templates/graalpy-template.java.qute b/graalpython/graalpy-jbang/templates/graalpy-template.java.qute index 1c397a3f35..5258d8cb30 100644 --- a/graalpython/graalpy-jbang/templates/graalpy-template.java.qute +++ b/graalpython/graalpy-jbang/templates/graalpy-template.java.qute @@ -5,7 +5,7 @@ {/for} {#if dependencies.isEmpty()}// //DEPS {/if} {| -//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:26.0.0} +//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:25.0.0} // specify python packages and their versions as if used with pip //PIP termcolor==2.2 |} diff --git a/graalpython/graalpy-jbang/templates/graalpy-template_local_repo.java.qute b/graalpython/graalpy-jbang/templates/graalpy-template_local_repo.java.qute index 094182f80c..9db2304494 100644 --- a/graalpython/graalpy-jbang/templates/graalpy-template_local_repo.java.qute +++ b/graalpython/graalpy-jbang/templates/graalpy-template_local_repo.java.qute @@ -8,7 +8,7 @@ //REPOS mc=https://repo1.maven.org/maven2/ //REPOS local=file://{path_to_local_repo} {| -//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:26.0.0} +//DEPS org.graalvm.python:jbang:${env.GRAALPY_VERSION:25.0.0} // specify python packages and their versions as if used with pip //PIP termcolor==2.2 |} diff --git a/graalpython/graalpy-maven-plugin/pom.xml b/graalpython/graalpy-maven-plugin/pom.xml index 11c877ee83..7a8715415f 100644 --- a/graalpython/graalpy-maven-plugin/pom.xml +++ b/graalpython/graalpy-maven-plugin/pom.xml @@ -48,7 +48,7 @@ SOFTWARE. graalpy-maven-plugin maven-plugin - 26.0.0 + 25.0.0 http://www.graalvm.org/python graalpy-maven-plugin Handles python related resources in a maven GraalPy - Java polyglot application. @@ -57,7 +57,7 @@ SOFTWARE. 17 17 UTF-8 - 26.0.0 + 25.0.0 diff --git a/mx.graalpython/suite.py b/mx.graalpython/suite.py index 1d23a63fd8..a70398d58d 100644 --- a/mx.graalpython/suite.py +++ b/mx.graalpython/suite.py @@ -9,7 +9,7 @@ "name": "graalpython", "versionConflictResolution": "latest", - "version": "26.0.0", + "version": "25.0.0", "graalpython:pythonVersion": "3.12.8", "release": False, "groupId": "org.graalvm.python", @@ -53,7 +53,7 @@ }, { "name": "tools", - "version": "a180d4f836e7c10201e90c6fc4e06817008b1af7", + "version": "e6f58afff5e5e9e0f2b3cc8f733aeff2724507ec", "subdir": True, "urls": [ {"url": "https://github.com/oracle/graal", "kind": "git"}, @@ -61,7 +61,7 @@ }, { "name": "regex", - "version": "a180d4f836e7c10201e90c6fc4e06817008b1af7", + "version": "e6f58afff5e5e9e0f2b3cc8f733aeff2724507ec", "subdir": True, "urls": [ {"url": "https://github.com/oracle/graal", "kind": "git"}, From 4f692ec06829c96b271b74d63992cbc8b60609e8 Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: 2025年7月21日 17:43:53 +0200 Subject: [PATCH 2/7] Sync CI files with graal --- ci/graal/ci/ci_common/common-utils.libsonnet | 2 +- ci/graal/ci/common.jsonnet | 31 ++++---------------- ci/graal/common.json | 26 ++++++---------- mx.graalpython/suite.py | 4 +-- 4 files changed, 17 insertions(+), 46 deletions(-) diff --git a/ci/graal/ci/ci_common/common-utils.libsonnet b/ci/graal/ci/ci_common/common-utils.libsonnet index 794af17efc..a476dc8d31 100644 --- a/ci/graal/ci/ci_common/common-utils.libsonnet +++ b/ci/graal/ci/ci_common/common-utils.libsonnet @@ -25,7 +25,7 @@ # Adds a CI build predicate to `build` if it is a gate such that it is only # run if a top level CI file or a non-documentation file in any of `suites` has been updated add_gate_predicate(build, suites, extra_includes=[], extra_excludes=[]):: - if std.member(build.targets, "gate") || std.member(build.targets, "tier1") || std.member(build.targets, "tier2") || std.member(build.targets, "tier3") then + if std.member(build.targets, "gate") then build + { guard+: { includes+: [ suite + "/**" for suite in suites ] + extra_includes + $.top_level_ci, diff --git a/ci/graal/ci/common.jsonnet b/ci/graal/ci/common.jsonnet index 4272ca2d15..1b7bfe60e3 100644 --- a/ci/graal/ci/common.jsonnet +++ b/ci/graal/ci/common.jsonnet @@ -57,9 +57,6 @@ local common_json = import "../common.json"; for name in ["oraclejdk21"] + variants("labsjdk-ce-21") + variants("labsjdk-ee-21") } + { 'oraclejdk24': jdk_base + common_json.jdks["oraclejdk24"] + { jdk_version:: 24 }, - } + { - [name]: jdk_base + common_json.jdks[name] + { jdk_version:: 25 } - for name in ["oraclejdk25"] + variants("labsjdk-ce-25") + variants("labsjdk-ee-25") } + { [name]: jdk_base + common_json.jdks[name] + { jdk_version:: parse_labsjdk_version(self), jdk_name:: "jdk-latest"} for name in ["oraclejdk-latest"] + variants("labsjdk-ce-latest") + variants("labsjdk-ee-latest") @@ -145,11 +142,6 @@ local common_json = import "../common.json"; common_catch_files: { catch_files+: [ - # There are additional catch_files-like patterns in buildbot/graal/catcher.py for: - # * hs_err_pid*.log files - # * Dumping IGV graphs to (?P.+(\.gv\.xml|\.bgv)) - # * CFGPrinter: Output to file (?P.*compilations-.+\.cfg) - # There are defined there for efficiency reasons. # Keep in sync with jdk.graal.compiler.debug.StandardPathUtilitiesProvider#DIAGNOSTIC_OUTPUT_DIRECTORY_MESSAGE_REGEXP "Graal diagnostic output saved in '(?P[^']+)'", # Keep in sync with jdk.graal.compiler.debug.DebugContext#DUMP_FILE_MESSAGE_REGEXP @@ -225,19 +217,15 @@ local common_json = import "../common.json"; } }, - # ProGuard does not yet run on JDK 25 - proguard: { - downloads+: if 'jdk_version' in self && self.jdk_version> 21 then { - TOOLS_JAVA_HOME: jdks_data['oraclejdk24'], - IGV_JAVA_HOME: jdks_data['oraclejdk21'], - } else {}, - }, - # GR-49566: SpotBugs does not yet run on JDK 22 - spotbugs: { + local code_tools = { downloads+: if 'jdk_version' in self && self.jdk_version> 21 then { TOOLS_JAVA_HOME: jdks_data['oraclejdk21'], } else {}, }, + # GR-46676: ProGuard does not yet run on JDK 22 + proguard: code_tools, + # GR-49566: SpotBugs does not yet run on JDK 22 + spotbugs: code_tools, sulong:: self.cmake + { packages+: if self.os == "windows" then { @@ -366,15 +354,6 @@ local common_json = import "../common.json"; # Job frequencies # *************** frequencies: { - tier1: { - targets+: ["tier1"], - }, - tier2: { - targets+: ["tier2"], - }, - tier3: { - targets+: ["tier3"], - }, gate: { targets+: ["gate"], }, diff --git a/ci/graal/common.json b/ci/graal/common.json index 5b3c75de13..f9b97142c1 100644 --- a/ci/graal/common.json +++ b/ci/graal/common.json @@ -4,11 +4,11 @@ "Jsonnet files should not include this file directly but use ci/common.jsonnet instead." ], - "mx_version": "7.58.9", + "mx_version": "7.54.5", "COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet", "jdks": { - "galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-26+6-570", "platformspecific": true, "extrabundles": ["static-libs"]}, + "galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+26-3156", "platformspecific": true, "extrabundles": ["static-libs"]}, "oraclejdk17": {"name": "jpg-jdk", "version": "17.0.7", "build_id": "jdk-17.0.7+8", "platformspecific": true, "extrabundles": ["static-libs"]}, "labsjdk-ce-17": {"name": "labsjdk", "version": "ce-17.0.7+4-jvmci-23.1-b02", "platformspecific": true }, @@ -45,21 +45,13 @@ "oraclejdk24": {"name": "jpg-jdk", "version": "24", "build_id": "jdk-24.0.1+9", "platformspecific": true, "extrabundles": ["static-libs"]}, - "oraclejdk25": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+26", "platformspecific": true, "extrabundles": ["static-libs"]}, - "labsjdk-ce-25": {"name": "labsjdk", "version": "ce-25+26-jvmci-b01", "platformspecific": true }, - "labsjdk-ce-25Debug": {"name": "labsjdk", "version": "ce-25+26-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ce-25-llvm": {"name": "labsjdk", "version": "ce-25+26-jvmci-b01-sulong", "platformspecific": true }, - "labsjdk-ee-25": {"name": "labsjdk", "version": "ee-25+26-jvmci-b01", "platformspecific": true }, - "labsjdk-ee-25Debug": {"name": "labsjdk", "version": "ee-25+26-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ee-25-llvm": {"name": "labsjdk", "version": "ee-25+26-jvmci-b01-sulong", "platformspecific": true }, - - "oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+6", "platformspecific": true, "extrabundles": ["static-libs"]}, - "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+6-jvmci-b01", "platformspecific": true }, - "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+6-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+5-jvmci-b01-sulong", "platformspecific": true }, - "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+6-jvmci-b01", "platformspecific": true }, - "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+6-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+5-jvmci-b01-sulong", "platformspecific": true } + "oraclejdk-latest": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+30", "platformspecific": true, "extrabundles": ["static-libs"]}, + "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25+30-jvmci-b01", "platformspecific": true }, + "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25+30-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25+30-jvmci-b01-sulong", "platformspecific": true }, + "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01", "platformspecific": true }, + "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01-sulong", "platformspecific": true } }, "eclipse": { diff --git a/mx.graalpython/suite.py b/mx.graalpython/suite.py index a70398d58d..e95907d06b 100644 --- a/mx.graalpython/suite.py +++ b/mx.graalpython/suite.py @@ -53,7 +53,7 @@ }, { "name": "tools", - "version": "e6f58afff5e5e9e0f2b3cc8f733aeff2724507ec", + "version": "9733142a0ecc145aa69c61bc6d81443636a4edd4", "subdir": True, "urls": [ {"url": "https://github.com/oracle/graal", "kind": "git"}, @@ -61,7 +61,7 @@ }, { "name": "regex", - "version": "e6f58afff5e5e9e0f2b3cc8f733aeff2724507ec", + "version": "9733142a0ecc145aa69c61bc6d81443636a4edd4", "subdir": True, "urls": [ {"url": "https://github.com/oracle/graal", "kind": "git"}, From aadfbe4062b9eec34da74837760093899e4e33b1 Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: 2025年7月22日 09:42:22 +0200 Subject: [PATCH 3/7] Move experimental configuration to daily --- ci.jsonnet | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.jsonnet b/ci.jsonnet index fa51abc508..a1ecea11d7 100644 --- a/ci.jsonnet +++ b/ci.jsonnet @@ -248,7 +248,7 @@ "windows:amd64:jdk-latest" : tier3 + require(GRAAL_JDK_LATEST), }), "python-junit-bytecode-dsl": gpgate + platform_spec(no_jobs) + bytecode_dsl_gate("python-junit") + platform_spec({ - "linux:amd64:jdk21" : tier3 + require(GRAAL_JDK_LATEST), + "linux:amd64:jdk21" : daily + require(GRAAL_JDK_LATEST), }), "python-junit-maven": gpgate_maven + platform_spec(no_jobs) + platform_spec({ "linux:amd64:jdk21" : daily + t("00:30:00"), From 23e9fae27359a498df96996079450f4552083c5d Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: 2025年7月23日 13:22:54 +0200 Subject: [PATCH 4/7] Update imports to release branch of graal --- ci/graal/ci/common.jsonnet | 7 +++---- ci/graal/common.json | 14 +++++++------- mx.graalpython/suite.py | 4 ++-- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/ci/graal/ci/common.jsonnet b/ci/graal/ci/common.jsonnet index 1b7bfe60e3..74d4ac1dc9 100644 --- a/ci/graal/ci/common.jsonnet +++ b/ci/graal/ci/common.jsonnet @@ -265,10 +265,9 @@ local common_json = import "../common.json"; graalpy:: self.gradle + self.cmake + { packages+: if (self.os == "linux") then { - libffi: '==3.2.1', - bzip2: '==1.0.6', - zlib: '==1.2.11', - maven: "==3.6.3", + libffi: '>=3.2.1', + bzip2: '>=1.0.6', + maven: ">=3.3.9", } else {}, }, diff --git a/ci/graal/common.json b/ci/graal/common.json index f9b97142c1..28c746398d 100644 --- a/ci/graal/common.json +++ b/ci/graal/common.json @@ -45,13 +45,13 @@ "oraclejdk24": {"name": "jpg-jdk", "version": "24", "build_id": "jdk-24.0.1+9", "platformspecific": true, "extrabundles": ["static-libs"]}, - "oraclejdk-latest": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+30", "platformspecific": true, "extrabundles": ["static-libs"]}, - "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25+30-jvmci-b01", "platformspecific": true }, - "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25+30-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25+30-jvmci-b01-sulong", "platformspecific": true }, - "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01", "platformspecific": true }, - "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01-sulong", "platformspecific": true } + "oraclejdk-latest": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+32", "platformspecific": true, "extrabundles": ["static-libs"]}, + "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25+32-jvmci-b01", "platformspecific": true }, + "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25+32-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25+32-jvmci-b01-sulong", "platformspecific": true }, + "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25+32-jvmci-b01", "platformspecific": true }, + "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25+32-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25+32-jvmci-b01-sulong", "platformspecific": true } }, "eclipse": { diff --git a/mx.graalpython/suite.py b/mx.graalpython/suite.py index 19d7f0106c..b4f121b757 100644 --- a/mx.graalpython/suite.py +++ b/mx.graalpython/suite.py @@ -53,7 +53,7 @@ }, { "name": "tools", - "version": "9733142a0ecc145aa69c61bc6d81443636a4edd4", + "version": "f8196f0bf0b98e14d1abeea2a806aff4a507d99f", "subdir": True, "urls": [ {"url": "https://github.com/oracle/graal", "kind": "git"}, @@ -61,7 +61,7 @@ }, { "name": "regex", - "version": "9733142a0ecc145aa69c61bc6d81443636a4edd4", + "version": "f8196f0bf0b98e14d1abeea2a806aff4a507d99f", "subdir": True, "urls": [ {"url": "https://github.com/oracle/graal", "kind": "git"}, From a66199e1ae415b6e5c3589c7e298066717788bd4 Mon Sep 17 00:00:00 2001 From: Michael Simacek Date: 2025年11月24日 09:29:43 +0100 Subject: [PATCH 5/7] Reduce patch branch CI to patch check --- ci.jsonnet | 498 +---------------------------------------------------- 1 file changed, 9 insertions(+), 489 deletions(-) diff --git a/ci.jsonnet b/ci.jsonnet index 344e1f6984..3b9dcd8d3b 100644 --- a/ci.jsonnet +++ b/ci.jsonnet @@ -72,510 +72,30 @@ local cov_jacoco_base = self.cov_jacoco_gate_base, local cov_truffle = self.cov_truffle_gate, local watchdog = self.watchdog, - local bench_task(bench=null, benchmarks=BENCHMARKS) = super.bench_task(bench=bench, benchmarks=benchmarks), - local bisect_bench_task = self.bisect_bench_task, - local bytecode_dsl_gate(name) = task_spec({ - environment +: { - BYTECODE_DSL_INTERPRETER: "true" - }, - tags :: name, - }), - local bytecode_dsl_bench = task_spec({ - environment +: { - BYTECODE_DSL_INTERPRETER: "true" - }, - name_suffix +:: ["bytecode-dsl"], + local patch_check = base_gate + task_spec({ + // Runs patch verifier as part of the copyright check + run: [ + ["mx", "python-checkcopyrights"], + ], + setup: [], }), - // ----------------------------------------------------------------------------------------------------------------- - // - // extra wheel builder configs. - // - // these are definitions to build wheels for releases which aren't build as - // part of the normal (MCD) wheel builder infrastructure. the urls to the - // release binaries and which wheels to build are just updated manually - // here as needed. Wheels in particular simply have to be tested (at least - // superficially) by someone and then be added to the list. - // - // ----------------------------------------------------------------------------------------------------------------- - local WHEELS_COMMON = [ - "numpy", - "httptools", - "kiwisolver", - "psutil", - "ujson", - "xxhash", - ], - local GPY_RELEASE = { - windows: { - url: $.overlay_imports.RELEASES_BASE_URL + "python-native-standalone-svm-svmee-java23-windows-amd64/24.1.1/python-native-standalone-svm-svmee-java23-windows-amd64-24.1.1-signed.zip", - wheels: WHEELS_COMMON, - }, - darwin: { - url: $.overlay_imports.RELEASES_BASE_URL + "python-native-standalone-svm-svmee-java23-darwin-aarch64/24.1.1/python-native-standalone-svm-svmee-java23-darwin-aarch64-24.1.1-signed.tar.gz", - wheels: WHEELS_COMMON, - }, - }, - - // ----------------------------------------------------------------------------------------------------------------- - // - // main build definition (matrix) - // - // ----------------------------------------------------------------------------------------------------------------- - local GPY_JVM21_STANDALONE = "graalpy-jvm21-standalone", - local GPY_JVM_STANDALONE = "graalpy-jvm-standalone", - local GPY_NATIVE_STANDALONE = "graalpy-native-standalone", - local GPY_NATIVE_BYTECODE_DSL_STANDALONE = "graalpy-native-bc-dsl-standalone", - local GPYEE_JVM_STANDALONE = "graalpy-ee-jvm-standalone", - local GPYEE_NATIVE_STANDALONE = "graalpy-ee-native-standalone", - local GRAAL_JDK_LATEST = "graal-jdk-latest", - local TAGGED_UNITTESTS_SPLIT = 8, - local COVERAGE_SPLIT = 3, - - // ----------------------------------------------------------------------------------------------------------------- - // gates - // ----------------------------------------------------------------------------------------------------------------- local gate_task_dict = { - "python-unittest": gpgate + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk21" : daily + t("01:00:00") + provide(GPY_JVM21_STANDALONE), - "linux:aarch64:jdk21" : daily + t("02:00:00") + provide(GPY_JVM21_STANDALONE), - "darwin:aarch64:jdk21" : daily + t("01:00:00") + provide(GPY_JVM21_STANDALONE), - "windows:amd64:jdk21" : daily + t("01:30:00") + provide(GPY_JVM21_STANDALONE), - "linux:amd64:jdk-latest" : tier2 + require(GPY_JVM_STANDALONE), - "linux:aarch64:jdk-latest" : tier3 + provide(GPY_JVM_STANDALONE), - "darwin:amd64:jdk-latest" : daily + t("01:30:00") + daily + provide(GPY_JVM_STANDALONE), - "darwin:aarch64:jdk-latest" : tier3 + provide(GPY_JVM_STANDALONE), - "windows:amd64:jdk-latest" : tier3 + provide(GPY_JVM_STANDALONE), - }), - "python-unittest-bytecode-dsl": gpgate + platform_spec(no_jobs) + bytecode_dsl_gate("python-unittest") + platform_spec({ - "linux:amd64:jdk21" : daily + t("01:00:00"), - "linux:aarch64:jdk21" : daily + t("01:00:00"), - "darwin:aarch64:jdk21" : daily + t("01:00:00"), - }), - "python-unittest-multi-context": gpgate + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk21" : daily + t("01:00:00") + require(GPY_JVM21_STANDALONE), - "linux:aarch64:jdk21" : daily + t("01:30:00") + require(GPY_JVM21_STANDALONE), - "darwin:aarch64:jdk21" : daily + t("01:00:00") + require(GPY_JVM21_STANDALONE), - "windows:amd64:jdk21" : daily + t("02:00:00"), - "linux:amd64:jdk-latest" : tier2 + require(GPY_JVM_STANDALONE), - "linux:aarch64:jdk-latest" : daily + t("01:30:00") + require(GPY_JVM_STANDALONE), - "darwin:amd64:jdk-latest" : daily + t("01:00:00") + require(GPY_JVM_STANDALONE), - "darwin:aarch64:jdk-latest" : daily + t("01:00:00") + require(GPY_JVM_STANDALONE), - "windows:amd64:jdk-latest" : daily + t("01:30:00"), - }), - "python-unittest-jython": gpgate + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk21" : daily + t("00:30:00") + require(GPY_JVM21_STANDALONE), - "linux:aarch64:jdk21" : daily + t("00:30:00") + require(GPY_JVM21_STANDALONE), - "darwin:aarch64:jdk21" : daily + t("00:30:00") + require(GPY_JVM21_STANDALONE), - "linux:amd64:jdk-latest" : tier2 + require(GPY_JVM_STANDALONE), - "linux:aarch64:jdk-latest" : daily + t("00:30:00") + require(GPY_JVM_STANDALONE), - "darwin:amd64:jdk-latest" : daily + t("00:30:00") + require(GPY_JVM_STANDALONE), - "darwin:aarch64:jdk-latest" : daily + t("00:30:00") + require(GPY_JVM_STANDALONE), - }), - "python-unittest-hpy": gpgate + require(GPY_NATIVE_STANDALONE) + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier3, - }), - "python-unittest-arrow-storage": gpgate + require(GPY_JVM_STANDALONE) + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier2, - }), - "python-unittest-posix": gpgate + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier2 + require(GPY_JVM_STANDALONE), - "linux:aarch64:jdk-latest" : tier3 + require(GPY_JVM_STANDALONE), - "darwin:amd64:jdk-latest" : daily + t("01:30:00") + require(GPY_JVM_STANDALONE), - "darwin:aarch64:jdk-latest" : tier3 + require(GPY_JVM_STANDALONE), - }), - "python-unittest-standalone": gpgate_maven + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk21" : daily + t("02:00:00") + require(GPY_JVM21_STANDALONE), - "linux:aarch64:jdk21" : daily + t("02:00:00") + require(GPY_JVM21_STANDALONE), - "darwin:aarch64:jdk21" : daily + t("02:00:00") + require(GPY_JVM21_STANDALONE), - "darwin:amd64:jdk-latest" : daily + t("02:00:00") + require(GPY_JVM_STANDALONE) + require(GRAAL_JDK_LATEST), - "windows:amd64:jdk21" : daily + t("02:00:00") + require(GPY_JVM21_STANDALONE) + batches(2), - "linux:amd64:jdk-latest" : tier3 + require(GPY_JVM_STANDALONE) + require(GRAAL_JDK_LATEST), - "linux:aarch64:jdk-latest" : tier3 + require(GPY_JVM_STANDALONE) + require(GRAAL_JDK_LATEST), - "darwin:aarch64:jdk-latest" : tier3 + require(GPY_JVM_STANDALONE) + require(GRAAL_JDK_LATEST), - "windows:amd64:jdk-latest" : tier3 + require(GPY_JVM_STANDALONE) + require(GRAAL_JDK_LATEST) + batches(2), - }), - "python-junit": gpgate + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk21" : daily + t("01:00:00"), - "linux:aarch64:jdk21" : daily + t("01:30:00"), - "darwin:aarch64:jdk21" : daily + t("01:30:00"), - "windows:amd64:jdk21" : daily + t("01:00:00"), - "linux:amd64:jdk-latest" : tier3 + require(GRAAL_JDK_LATEST), - "linux:aarch64:jdk-latest" : tier3 + require(GRAAL_JDK_LATEST), - "darwin:amd64:jdk-latest" : daily + t("01:30:00"), - "darwin:aarch64:jdk-latest" : tier3 + require(GRAAL_JDK_LATEST), - "windows:amd64:jdk-latest" : tier3 + require(GRAAL_JDK_LATEST), - }), - "python-junit-bytecode-dsl": gpgate + platform_spec(no_jobs) + bytecode_dsl_gate("python-junit") + platform_spec({ - "linux:amd64:jdk21" : daily + require(GRAAL_JDK_LATEST), - }), - "python-junit-maven": gpgate_maven + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk21" : daily + t("00:30:00"), - "linux:aarch64:jdk21" : daily + t("01:00:00"), - "darwin:aarch64:jdk21" : daily + t("01:30:00"), - "windows:amd64:jdk21" : daily + t("01:30:00"), - "linux:amd64:jdk-latest" : tier3 + provide(GRAAL_JDK_LATEST), - "linux:aarch64:jdk-latest" : tier3 + provide(GRAAL_JDK_LATEST), - "darwin:amd64:jdk-latest" : daily + t("01:30:00") + provide(GRAAL_JDK_LATEST), - "darwin:aarch64:jdk-latest" : tier3 + provide(GRAAL_JDK_LATEST), - "windows:amd64:jdk-latest" : tier3 + provide(GRAAL_JDK_LATEST), - }), - "python-junit-polyglot-isolates": gpgate_ee + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier3, - "linux:aarch64:jdk-latest" : tier3, - "darwin:aarch64:jdk-latest" : tier3, - "windows:amd64:jdk-latest" : tier3, - }), - "python-svm-build": gpgate + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier2 + provide(GPY_NATIVE_STANDALONE), - }), - "python-svm-unittest": gpgate + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier2 + require(GPY_NATIVE_STANDALONE), - "linux:aarch64:jdk-latest" : tier3 + provide(GPY_NATIVE_STANDALONE), - "darwin:amd64:jdk-latest" : daily + t("01:30:00") + provide(GPY_NATIVE_STANDALONE), - "darwin:aarch64:jdk-latest" : tier3 + provide(GPY_NATIVE_STANDALONE), - "windows:amd64:jdk-latest" : tier3 + provide(GPY_NATIVE_STANDALONE), - }), - "python-svm-unittest-bytecode-dsl": gpgate + platform_spec(no_jobs) + bytecode_dsl_gate("python-svm-unittest") + platform_spec({ - "linux:amd64:jdk-latest" : tier2 + provide(GPY_NATIVE_BYTECODE_DSL_STANDALONE), - }), - "python-tagged-unittest": gpgate + require(GPY_NATIVE_STANDALONE) + batches(TAGGED_UNITTESTS_SPLIT) + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier2, - "linux:aarch64:jdk-latest" : tier3, - "darwin:amd64:jdk-latest" : daily + t("02:00:00"), - "darwin:aarch64:jdk-latest" : tier3, - "windows:amd64:jdk-latest" : daily + t("02:00:00"), - }), - "python-tagged-unittest-bytecode-dsl": gpgate + require(GPY_NATIVE_BYTECODE_DSL_STANDALONE) + batches(TAGGED_UNITTESTS_SPLIT) + bytecode_dsl_gate("python-tagged-unittest") + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier3, - }), - "python-graalvm": gpgate + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier3 + require(GRAAL_JDK_LATEST), - "linux:aarch64:jdk-latest" : tier3 + require(GRAAL_JDK_LATEST), - "darwin:amd64:jdk-latest" : daily + t("01:00:00") + daily, - "darwin:aarch64:jdk-latest" : tier3 + require(GRAAL_JDK_LATEST), - "windows:amd64:jdk-latest" : tier3 + require(GRAAL_JDK_LATEST), - }), - "python-unittest-cpython": cpygate + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier1, - }), - "python-unittest-retagger": ut_retagger + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : weekly + t("20:00:00"), - "linux:aarch64:jdk-latest" : weekly + t("20:00:00"), - "darwin:aarch64:jdk-latest" : weekly + t("20:00:00"), - "windows:amd64:jdk-latest" : weekly + t("20:00:00"), - }), - "python-coverage-jacoco-tagged": cov_jacoco_tagged + batches(COVERAGE_SPLIT) + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk21" : weekly + t("20:00:00"), - "darwin:aarch64:jdk21" : weekly + t("20:00:00"), - "windows:amd64:jdk21" : weekly + t("20:00:00"), - }), - "python-coverage-jacoco-base": cov_jacoco_base + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk21" : weekly + t("20:00:00"), - "darwin:aarch64:jdk21" : weekly + t("20:00:00"), - "windows:amd64:jdk21" : weekly + t("20:00:00"), - }), - "python-coverage-truffle": cov_truffle + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk21" : weekly + t("20:00:00"), - }), - "corp-compliance-watchdog": watchdog + platform_spec(no_jobs) + platform_spec({ + "patch-check": patch_check + platform_spec(no_jobs) + platform_spec({ "linux:amd64:jdk-latest" : tier1, }), - "bisect-benchmark": bisect_bench_task + platform_spec(no_jobs) + platform_spec({ - # Compiler and SVM no longer support building with anything but the - # latest JDK. This makes the bisect job prone to failure when - # bisecting in the compiler suite because we keep the same latest - # JDK, but there is nothing we can do about that. - "linux:amd64:jdk-latest" : on_demand + t("20:00:00"), - }), - "style": style_gate + task_spec({ tags:: "style,build,python-license" }) + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier1 + provide(GPY_JVM_STANDALONE), - }), - "style-ecj": style_gate + task_spec({ tags:: "style,ecjbuild" }) + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier1, - }), - // tests with sandboxed backends for various modules (posix, sha3, ctypes, ...) - "python-unittest-sandboxed": gpgate_ee + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier3, - }), - "python-svm-unittest-sandboxed": gpgate_ee + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier3 + provide(GPYEE_NATIVE_STANDALONE), - }), - "tox-example": gpgate_ee + require(GPYEE_NATIVE_STANDALONE) + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest" : tier3, - }), - "build-wheels": base_gate + platform_spec(no_jobs) + platform_spec({ - "windows:amd64:jdk-latest" : on_demand + t("01:00:00"), - "darwin:aarch64:jdk-latest" : on_demand + t("01:00:00"), - }) + task_spec({ - setup: [ - ["python", "-m", "venv", ".venv"], - ["set-export", "PACKAGES_TO_BUILD", std.join(",", GPY_RELEASE[self.os].wheels)], - ], - run: [ - [ - if self.os == "windows" then ".venv/Scripts/python.exe" else ".venv/bin/python", - "scripts/wheelbuilder/build_wheels.py", - GPY_RELEASE[self.os].url, - ] - ], - "logs"+: [ - "wheelhouse/*.whl", - ], - }), - }, - - local forks_warmup = forks("./mx.graalpython/warmup-fork-counts.json"), - local forks_meso = forks("meso.json"), - local raw_results = task_spec({ - logs +: [ - "raw_results.json", - ], - }), - - // ----------------------------------------------------------------------------------------------------------------- - // benchmarks - // ----------------------------------------------------------------------------------------------------------------- - // [info]: when adding a benchmark, the key in the `bench_task_dict` is taken as the name of the benchmark if it is - // not specified as the first arg to `bench_task`. - local bench_task_dict = { - [bench]: bench_task(bench) + platform_spec(no_jobs) + bench_variants({ - "vm_name:graalvm_ce_default" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalvm_ee_default" : {"linux:amd64:jdk-latest" : post_merge + t("08:00:00")}, - "vm_name:graalpython_core" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalpython_enterprise" : {"linux:amd64:jdk-latest" : daily + t("08:00:00"), - "job_type:checkup" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")} - }, - "vm_name:graalpython_enterprise_multi" : {"linux:amd64:jdk-latest" : weekly + t("08:00:00")}, - "vm_name:cpython" : {"linux:amd64:jdk-latest" : monthly + t("04:00:00")}, - "vm_name:pypy" : {"linux:amd64:jdk-latest" : on_demand + t("04:00:00")}, - }), - for bench in ["micro", "meso", "macro"] - } + { - [bench + "-bytecode-dsl"]: bench_task(bench) + bytecode_dsl_bench + platform_spec(no_jobs) + bench_variants({ - "vm_name:graalvm_ee_default_bc_dsl" : {"linux:amd64:jdk-latest" : daily + t("08:00:00")}, - "vm_name:graalpython_enterprise_bc_dsl" : {"linux:amd64:jdk-latest" : daily + t("08:00:00")}, - }), - for bench in ["micro", "meso", "macro"] - } + { - [bench]: bench_task(bench) + platform_spec(no_jobs) + bench_variants({ - "vm_name:graalvm_ce_default" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalvm_ee_default" : {"linux:amd64:jdk-latest" : post_merge + t("08:00:00")}, - "vm_name:graalpython_core" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalpython_core_panama" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalpython_enterprise" : {"linux:amd64:jdk-latest" : daily + t("08:00:00"), - "job_type:checkup" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")} - }, - "vm_name:graalpython_enterprise_multi" : {"linux:amd64:jdk-latest" : weekly + t("08:00:00")}, - "vm_name:graalpython_enterprise_panama" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:cpython" : {"linux:amd64:jdk-latest" : monthly + t("04:00:00")}, - "vm_name:pypy" : {"linux:amd64:jdk-latest" : on_demand + t("04:00:00")}, - }), - for bench in ["micro_native"] - } + { - // "small" benchmarks have their argument set such that they run in a resonable - // time in the interpreter and they are used for interpreter benchmarking - [bench]: bench_task(bench) + platform_spec(no_jobs) + bench_variants({ - "vm_name:graalvm_ce_default_interpreter" : {"linux:amd64:jdk-latest" : on_demand + t("02:00:00")}, - "vm_name:graalvm_ee_default_interpreter" : {"linux:amd64:jdk-latest" : daily + t("02:00:00")}, - "vm_name:graalpython_core_interpreter" : {"linux:amd64:jdk-latest" : on_demand + t("02:00:00")}, - "vm_name:graalpython_core_native_interpreter" : {"linux:amd64:jdk-latest" : on_demand + t("02:00:00")}, - "vm_name:graalpython_enterprise_interpreter" : {"linux:amd64:jdk-latest" : weekly + t("02:00:00")}, - "vm_name:graalpython_core_interpreter_multi" : {"linux:amd64:jdk-latest" : on_demand + t("02:00:00")}, - "vm_name:graalpython_core_native_interpreter_multi" : {"linux:amd64:jdk-latest" : on_demand + t("02:00:00")}, - }), - for bench in ["micro_small", "meso_small"] - } + { - [bench + "-bytecode-dsl"]: bench_task(bench) + bytecode_dsl_bench + platform_spec(no_jobs) + bench_variants({ - "vm_name:graalvm_ee_default_interpreter_bc_dsl" : {"linux:amd64:jdk-latest" : daily + t("04:00:00")}, - "vm_name:graalpython_enterprise_interpreter_bc_dsl" : {"linux:amd64:jdk-latest" : daily + t("04:00:00")}, - }), - for bench in ["micro_small", "meso_small"] - } + { - // benchmarks executed via Java embedding driver - [bench]: bench_task(bench) + platform_spec(no_jobs) + bench_variants({ - "vm_name:java_embedding_core_interpreter_multi_shared" : {"linux:amd64:jdk-latest" : weekly + t("02:00:00")}, - }), - for bench in ["java_embedding_meso"] - } + { - [bench]: bench_task(bench) + platform_spec(no_jobs) + bench_variants({ - "vm_name:graalpython_core" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - "vm_name:graalpython_enterprise" : {"linux:amd64:jdk-latest" : daily + t("05:00:00") + forks_warmup}, - "vm_name:graalvm_ce_default" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - "vm_name:graalvm_ee_default" : {"linux:amd64:jdk-latest" : daily + t("05:00:00") + forks_warmup}, - "vm_name:graalpython_core_multi_tier" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - "vm_name:graalpython_enterprise_multi_tier" : {"linux:amd64:jdk-latest" : weekly + t("05:00:00") + forks_warmup}, - "vm_name:graalvm_ce_default_multi_tier" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - "vm_name:graalvm_ee_default_multi_tier" : {"linux:amd64:jdk-latest" : weekly + t("05:00:00") + forks_warmup}, - "vm_name:graalpython_core_3threads" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - "vm_name:graalpython_enterprise_3threads" : {"linux:amd64:jdk-latest" : weekly + t("05:00:00") + forks_warmup}, - "vm_name:graalvm_ce_default_3threads" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - "vm_name:graalvm_ee_default_3threads" : {"linux:amd64:jdk-latest" : weekly + t("05:00:00") + forks_warmup}, - "vm_name:graalpython_core_multi_tier_3threads" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - "vm_name:graalpython_enterprise_multi_tier_3threads" : {"linux:amd64:jdk-latest" : weekly + t("05:00:00") + forks_warmup}, - "vm_name:graalvm_ce_default_multi_tier_3threads" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - "vm_name:graalvm_ee_default_multi_tier_3threads" : {"linux:amd64:jdk-latest" : weekly + t("05:00:00") + forks_warmup}, - "vm_name:pypy" : {"linux:amd64:jdk-latest" : on_demand + t("01:00:00")}, - }), - for bench in ["warmup"] - } + { - [bench + "-bytecode-dsl"]: bench_task(bench) + bytecode_dsl_bench + platform_spec(no_jobs) + bench_variants({ - "vm_name:graalvm_ee_default_bc_dsl" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - "vm_name:graalpython_enterprise_bc_dsl" : {"linux:amd64:jdk-latest" : on_demand + t("05:00:00") + forks_warmup}, - }), - for bench in ["warmup"] - } + { - [bench]: bench_task(bench) + platform_spec(no_jobs) + bench_variants({ - "vm_name:graalpython_enterprise_interpreter" : {"linux:amd64:jdk-latest" : post_merge + t("00:30:00")}, - }), - for bench in ["heap"] - } + { - // interop benchmarks only for graalpython, weekly is enough - [bench]: bench_task(bench) + platform_spec(no_jobs) + bench_variants({ - "vm_name:java_jmh_core" : {"linux:amd64:jdk-latest" : daily + t("04:00:00")}, - "vm_name:java_jmh_enterprise" : {"linux:amd64:jdk-latest" : daily + t("04:00:00")}, - }), - for bench in ["jmh"] - } + { - // benchmarks with many forks for weekly performance reports - [bench + "-forks"]: bench_task(bench) + platform_spec(no_jobs) + bench_variants({ - "vm_name:graalvm_ce_default" : {"linux:amd64:jdk-latest" : on_demand + t("10:00:00") + forks_meso}, - "vm_name:graalvm_ee_default" : {"linux:amd64:jdk-latest" : weekly + t("10:00:00") + forks_meso}, - }), - for bench in ["meso"] - } + { - // benchmarks with community benchmark suites for external numbers - [bench]: bench_task(bench, PY_BENCHMARKS) + platform_spec(no_jobs) + raw_results + bench_variants({ - "vm_name:graalpython_core" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalpython_enterprise" : {"linux:amd64:jdk-latest" : weekly + t("08:00:00")}, - "vm_name:graalvm_ce_default" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalvm_ee_default" : {"linux:amd64:jdk-latest" : weekly + t("08:00:00")}, - "vm_name:cpython_launcher" : {"linux:amd64:jdk-latest" : monthly + t("08:00:00")}, - "vm_name:pypy_launcher" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - }), - for bench in ["pyperformance"] - } + { - // Bytecode DSL benchmarks with community benchmark suites for external numbers - [bench + "-bytecode-dsl"]: bench_task(bench, PY_BENCHMARKS) + platform_spec(no_jobs) + raw_results + bench_variants({ - "vm_name:graalvm_ee_default_bc_dsl" : {"linux:amd64:jdk-latest" : weekly + t("08:00:00")}, - }), - for bench in ["pyperformance"] - } + { - // benchmarks with community benchmark suites for external numbers - [bench]: bench_task(bench, PY_BENCHMARKS) + platform_spec(no_jobs) + raw_results + bench_variants({ - "vm_name:graalpython_core" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalpython_core_panama" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalpython_enterprise" : {"linux:amd64:jdk-latest" : weekly + t("08:00:00")}, - "vm_name:graalpython_enterprise_panama" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalvm_ce_default" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - "vm_name:graalvm_ee_default" : {"linux:amd64:jdk-latest" : weekly + t("08:00:00")}, - "vm_name:cpython_launcher" : {"linux:amd64:jdk-latest" : monthly + t("08:00:00")}, - "vm_name:pypy_launcher" : {"linux:amd64:jdk-latest" : on_demand + t("08:00:00")}, - }), - for bench in ["numpy", "pandas"] }, - // ----------------------------------------------------------------------------------------------------------------- - // - // export builds - // - // ----------------------------------------------------------------------------------------------------------------- processed_gate_builds::run_spec.process(gate_task_dict), - processed_bench_builds::run_spec.process(bench_task_dict), builds: utils.ensure_no_mx_wrong_build( utils.ensure_tier_time_and_machine_limits( utils.with_notify_groups([ - {'defined_in': std.thisFile} + b for b in self.processed_gate_builds.list + self.processed_bench_builds.list + {'defined_in': std.thisFile} + b for b in self.processed_gate_builds.list ]) ) - ) + [ - { - name: "graalpy-website-build", - targets: ["gate"], - guard: { - includes: ["docs/user/**", "docs/site/**"], - }, - timelimit: "20:00", - capabilities: ["linux", "amd64"], - docker: { - image: "buildslave_ol7", - mount_modules: true, - }, - packages: { - ruby: "==3.2.2", - libyaml: "==0.2.5", - mx: "7.34.1", - python3: "==3.8.10", - }, - environment: { - JEKYLL_ENV: "production", - BUNDLE_PATH: "$PWD/../bundle-path", - GEM_HOME: "$PWD/../gem-home", - CI: "true", - }, - run: [ - ["mkdir", "-p", "$GEM_HOME"], - ["export", "PATH=$GEM_HOME/bin:$PATH"], - ["gem", "install", "--no-document", "--source", $.overlay_imports.RUBYGEMS_MIRROR, "bundler", "-v", "2.5.9"], - ["git", "clone", "-b", "main", $.overlay_imports.JEKYLL_THEME_GIT], - ["cd", "graal-languages-jekyll-theme"], - ["gem", "build", "graal-languages-jekyll-theme.gemspec"], - ["mkdir", "-p", "../docs/site/vendor/cache"], - ["cp", "graal-languages-jekyll-theme-*.gem", "../docs/site/vendor/cache"], - ["cd", "../docs/site"], - ["bundle", "install"], - ["bundle", "exec", "jekyll", "build"], - ], - publishArtifacts: [ - { - name: "graalpy-website-build-artifact", - dir: "docs/site/_site", - patterns: ["*"], - } - ], - }, - { - name: "graalpy-website-deploy-staging", - targets: ["deploy"], - capabilities: ["linux", "amd64"], - requireArtifacts: [ - { - name: "graalpy-website-build-artifact", - dir: "_site", - } - ], - run: [ - $.overlay_imports.STAGING_DEPLOY_CMD - ], - }, - { - name: "graalpy-website-deploy-production", - targets: ["deploy"], - capabilities: ["linux", "amd64"], - packages: { - mx: "7.34.1", - python3: "==3.8.10", - }, - requireArtifacts: [ - { - name: "graalpy-website-build-artifact", - dir: "_site", - } - ], - run: [ - ["git", "clone", $.overlay_imports.WEBSITE_GIT], - ["rsync", "-a", "--delete", "_site/", "graalvm-website/python"], - ["git", "-C", "graalvm-website", "add", "."], - ["git", "-C", "graalvm-website", "status"], - ["git", "-C", "graalvm-website", "-c", "user.name=Web Publisher", "-c", "user.email=graalvm-dev@oss.oracle.com", "commit", "-m", "Update GraalPy website"], - ["git", "-C", "graalvm-website", "push", "origin", "HEAD"], - ["git", "branch", "--force", "--no-track", "published"], - ["git", "push", "--force", "origin", "published"], - ] - }, - ], + ), } // Local Variables: From 705197cff24a58aaf2ab8d5746eefce57ee080ed Mon Sep 17 00:00:00 2001 From: Michael Simacek Date: 2025年11月18日 15:14:48 +0100 Subject: [PATCH 6/7] Add patch for pythran-0.18.1 --- .../lib-graalpython/patches/metadata.toml | 7 +++- .../patches/pythran-0.18.1.patch | 42 +++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 graalpython/lib-graalpython/patches/pythran-0.18.1.patch diff --git a/graalpython/lib-graalpython/patches/metadata.toml b/graalpython/lib-graalpython/patches/metadata.toml index a3e2b40edb..5b3162d76b 100644 --- a/graalpython/lib-graalpython/patches/metadata.toml +++ b/graalpython/lib-graalpython/patches/metadata.toml @@ -658,10 +658,15 @@ patch = 'pythran-0.15.patch' license = 'BSD-3-Clause' [[pythran.rules]] -version = '>= 0.16' +version = '>= 0.16, < 0.18.1' patch = 'pythran-0.16.patch' license = 'BSD-3-Clause' +[[pythran.rules]] +version = '== 0.18.1' +patch = 'pythran-0.18.1.patch' +license = 'BSD-3-Clause' + [[pyzmq.rules]] version = '< 26' install-priority = 0 diff --git a/graalpython/lib-graalpython/patches/pythran-0.18.1.patch b/graalpython/lib-graalpython/patches/pythran-0.18.1.patch new file mode 100644 index 0000000000..a6657e2330 --- /dev/null +++ b/graalpython/lib-graalpython/patches/pythran-0.18.1.patch @@ -0,0 +1,42 @@ +diff --git a/pythran/pythonic/python/core.hpp b/pythran/pythonic/python/core.hpp +index 86d2f63..050fe21 100644 +--- a/pythran/pythonic/python/core.hpp ++++ b/pythran/pythonic/python/core.hpp +@@ -50,7 +50,7 @@ PYTHONIC_NS_BEGIN + namespace python + { + +-#ifdef Py_LIMITED_API ++#if defined(Py_LIMITED_API) || defined(GRAALVM_PYTHON) + + struct ByteHolder { + PyObject *holder; +diff --git a/pythran/pythonic/types/str.hpp b/pythran/pythonic/types/str.hpp +index a7dd51a..09fdd59 100644 +--- a/pythran/pythonic/types/str.hpp ++++ b/pythran/pythonic/types/str.hpp +@@ -732,7 +732,7 @@ namespace std + }()) + #else + #ifndef PyString_Check +-#define PyString_Check(x) (PyUnicode_Check(x) && PyUnicode_IS_COMPACT_ASCII(x)) ++#define PyString_Check(x) PyUnicode_Check(x) + #endif + #endif + +diff --git a/pythran/tables.py b/pythran/tables.py +index a9f5712..5a0dff2 100644 +--- a/pythran/tables.py ++++ b/pythran/tables.py +@@ -4633,7 +4633,10 @@ def save_arguments(module_name, elements): + # some function are actually forward function, detect those + # and accept to use our description instead. + if looks_like_a_forward_function(spec): +- assert signature.args.args, "{} require an explicit description".format(elem) ++ # GraalPy change: we have signatures for more builtins than ++ # CPython and this trips up on type constructors like `dict` or ++ # `BaseException`. ++ # assert signature.args.args, "{} require an explicit description".format(elem) + continue + + args = [ast.Name(arg, ast.Param(), None, None) From 275f0c46c674e0e9fecd78ff70a68da9f6818821 Mon Sep 17 00:00:00 2001 From: Michael Simacek Date: 2025年11月19日 15:17:52 +0100 Subject: [PATCH 7/7] Add patch for optree --- graalpython/lib-graalpython/patches/metadata.toml | 4 ++++ graalpython/lib-graalpython/patches/optree.patch | 13 +++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 graalpython/lib-graalpython/patches/optree.patch diff --git a/graalpython/lib-graalpython/patches/metadata.toml b/graalpython/lib-graalpython/patches/metadata.toml index 5b3162d76b..a2da504407 100644 --- a/graalpython/lib-graalpython/patches/metadata.toml +++ b/graalpython/lib-graalpython/patches/metadata.toml @@ -388,6 +388,10 @@ dist-type = 'sdist' version = '1.17.1' url = 'https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.17.1.tar.gz' +[[optree.rules]] +patch = 'optree.patch' +license = 'Apache-2.0' + [[orjson.rules]] version = '== 3.9.7' patch = 'orjson-3.9.7.patch' diff --git a/graalpython/lib-graalpython/patches/optree.patch b/graalpython/lib-graalpython/patches/optree.patch new file mode 100644 index 0000000000..c41a0bf4ad --- /dev/null +++ b/graalpython/lib-graalpython/patches/optree.patch @@ -0,0 +1,13 @@ +diff --git a/include/optree/pymacros.h b/include/optree/pymacros.h +index 7f2ac9a..ecb6faf 100644 +--- a/include/optree/pymacros.h ++++ b/include/optree/pymacros.h +@@ -52,7 +52,7 @@ namespace py = pybind11; + # define Py_IsFalse(x) Py_Is((x), Py_False) + #endif + +-inline constexpr Py_ALWAYS_INLINE bool Py_IsConstant(PyObject *x) noexcept { ++inline Py_ALWAYS_INLINE bool Py_IsConstant(PyObject *x) noexcept { + return Py_IsNone(x) || Py_IsTrue(x) || Py_IsFalse(x); + } + #define Py_IsConstant(x) Py_IsConstant(x)

AltStyle によって変換されたページ (->オリジナル) /