diff --git a/.github/workflows/downstream-tests.yml b/.github/workflows/downstream-tests.yml index 02eb747bec..1e1bf1fbe4 100644 --- a/.github/workflows/downstream-tests.yml +++ b/.github/workflows/downstream-tests.yml @@ -13,6 +13,7 @@ jobs: - pybind11 - virtualenv - pyo3 + - pydantic-core os: - id: ubuntu-latest platform: linux @@ -35,11 +36,19 @@ jobs: run: brew install cmake - name: Install Rust toolchain - if: ${{ matrix.name == 'pyo3' }} + if: ${{ matrix.name == 'pyo3' || matrix.name == 'pydantic-core' }} run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y echo "${HOME}/.cargo/bin" >> $GITHUB_PATH + - name: Install uv + if: ${{ matrix.name == 'pydantic-core' }} + run: | + # XXX: Using my fork of uv until https://github.com/astral-sh/uv/pull/15013 is merged and released + # curl -LsSf https://astral.sh/uv/install.sh | sh + cargo install --git https://github.com/msimacek/uv --branch msimacek/graalpy uv + echo "$HOME/.local/bin" >> $GITHUB_PATH + - name: Checkout main repository uses: actions/checkout@v4 diff --git a/ci/graal/ci/ci_common/ci-check.libsonnet b/ci/graal/ci/ci_common/ci-check.libsonnet index 2224e6bd7b..777b98eb16 100644 --- a/ci/graal/ci/ci_common/ci-check.libsonnet +++ b/ci/graal/ci/ci_common/ci-check.libsonnet @@ -1,12 +1,18 @@ +local ci = import '../../ci.jsonnet'; local std_get = (import 'common-utils.libsonnet').std_get; { + local effective_targets(build) = std.map(function(target) if std.startsWith(target, "tier") then ci.tierConfig[target] else target, build.targets), + local periodic_targets = ["daily", "weekly", "monthly", "post-merge", "opt-post-merge"], + local has_periodic_target(build) = std.length(std.setInter(std.set(effective_targets(build)), std.set(periodic_targets))) != 0, + # check that all non [gate, ondemand] entries have notify_emails or notify_groups defined local missing_notify(builds) = { - [x.name]: std_get(x, "defined_in") for x in builds if !std.objectHas(x, "notify_emails") && !std.objectHasAll(x, "notify_groups") && std.length(std.setInter(std.set(x.targets), std.set(["daily", "weekly", "monthly", "post-merge", "opt-post-merge"]))) != 0 + [x.name]: {defined_in: std_get(x, "defined_in"), targets: std_get(x, "targets")} + for x in builds if !std.objectHas(x, "notify_emails") && !std.objectHasAll(x, "notify_groups") && has_periodic_target(x) }, - # check that all non entries have defined_in set + # check that all entries have defined_in set local missing_defined_in(builds) = { [x.name]: std_get(x, "defined_in") for x in builds if !std.objectHas(x, "defined_in") }, diff --git a/ci/graal/ci/ci_common/run-spec-impl.libsonnet b/ci/graal/ci/ci_common/run-spec-impl.libsonnet index 7f514f87a6..a5512ca49c 100644 --- a/ci/graal/ci/ci_common/run-spec-impl.libsonnet +++ b/ci/graal/ci/ci_common/run-spec-impl.libsonnet @@ -95,7 +95,7 @@ local std_get = (import "../../ci/ci_common/common-utils.libsonnet").std_get; else // exclusion assert std.length(excluded) == std.length(_values) : "Cannot mix inclusion with exclusion (either all entries start with '!' or none): " + _values; - std.setDiff(std.objectFieldsAll(feature_map[self.feature]), excluded) + std.setDiff(std.set(std.objectFieldsAll(feature_map[self.feature])), std.set(excluded)) } ; local is_feature_desc(key) = std.member(feature_order, get_feature_value_pair(key).feature); diff --git a/ci/graal/common.json b/ci/graal/common.json index 83b9c68d83..fea05a7702 100644 --- a/ci/graal/common.json +++ b/ci/graal/common.json @@ -8,7 +8,7 @@ "COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet", "jdks": { - "galahad-jdk": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+7-655", "platformspecific": true, "extrabundles": ["static-libs"]}, + "galahad-jdk": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+9-846", "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 }, @@ -53,13 +53,13 @@ "labsjdk-ee-25Debug": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01-debug", "platformspecific": true }, "labsjdk-ee-25-llvm": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01-sulong", "platformspecific": true }, - "oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+8", "platformspecific": true, "extrabundles": ["static-libs"]}, - "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+8-jvmci-b01", "platformspecific": true }, - "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+8-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+8-jvmci-b01-sulong", "platformspecific": true }, - "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+8-jvmci-b01", "platformspecific": true }, - "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+8-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+8-jvmci-b01-sulong", "platformspecific": true } + "oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+9", "platformspecific": true, "extrabundles": ["static-libs"]}, + "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+9-jvmci-b01", "platformspecific": true }, + "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+9-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+9-jvmci-b01-sulong", "platformspecific": true }, + "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+9-jvmci-b01", "platformspecific": true }, + "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+9-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+9-jvmci-b01-sulong", "platformspecific": true } }, "eclipse": { diff --git a/docs/site/03-compatibility.md b/docs/site/03-compatibility.md index c20529daef..eb3b7de07c 100644 --- a/docs/site/03-compatibility.md +++ b/docs/site/03-compatibility.md @@ -6,8 +6,8 @@ permalink: compatibility/