diff --git a/.github/workflows/release-javascript.yaml b/.github/workflows/release-javascript.yaml index f0c43db2eb..239ab81b6e 100644 --- a/.github/workflows/release-javascript.yaml +++ b/.github/workflows/release-javascript.yaml @@ -42,7 +42,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: '20' + node-version: '24' registry-url: 'https://registry.npmjs.org' - name: Upgrade npm for trusted publishing diff --git a/.github/workflows/release-rust.yaml b/.github/workflows/release-rust.yaml index 9ce88548f8..398f2725fd 100644 --- a/.github/workflows/release-rust.yaml +++ b/.github/workflows/release-rust.yaml @@ -36,7 +36,7 @@ jobs: steps: - uses: actions/checkout@v5 - - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable + - uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable - name: Bump rust version shell: bash diff --git a/ci/deploy.sh b/ci/deploy.sh index fbd5090a16..6e2e9a9535 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -150,7 +150,12 @@ build_pyfory() { } install_pyarrow() { - $PIP_CMD install pyarrow numpy + # Newer PyArrow and NumPy Linux wheels require manylinux_2_28. + if [[ ${PLAT:-} == manylinux2014_* ]]; then + $PIP_CMD install "pyarrow<21" "numpy<2.3" + else + $PIP_CMD install pyarrow numpy + fi } deploy_scala() { diff --git a/ci/release.py b/ci/release.py index 24dd645e56..7f7f6b7bcc 100644 --- a/ci/release.py +++ b/ci/release.py @@ -668,6 +668,7 @@ def bump_rust_version(new_version): rust_version, _update_cargo_lock_version, ) + _bump_version("rust/fory/src", "lib.rs", rust_version, _update_rust_doc_version) def bump_kotlin_version(new_version): @@ -816,7 +817,7 @@ def _update_pom_parent_version(lines, new_version): def _update_android_tests_dependency_version(lines, new_version): for index, line in enumerate(lines): lines[index] = re.sub( - r"(org\.apache\.fory:fory-(?:core|annotation-processor):)[^'`)\s]+", + r"(org\.apache\.fory:fory-(?:core|json|annotation-processor):)[^'`)\s]+", r"\g<1>" + new_version, line, ) @@ -946,6 +947,14 @@ def _update_cargo_lock_version(lines, v: str): return lines +def _update_rust_doc_version(lines, v: str): + for index, line in enumerate(lines): + if re.match(r'^//!\s+fory\s*=\s*"', line): + lines[index] = re.sub(r'"[^"]+"', f'"{v}"', line, count=1) + break + return lines + + def _update_cmake_project_version(lines, v: str): cmake_version = _normalize_cmake_version(v) in_project = False