This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/avro.git


The following commit(s) were added to refs/heads/main by this push:
     new 0baa65f9e1 AVRO-4232: Install uv for the JavaScript & Docker CI 
workflows (#3665)
0baa65f9e1 is described below

commit 0baa65f9e1cdf6cb2395b61999fab5e330d58583
Author: Martin Grigorov <[email protected]>
AuthorDate: Mon Feb 23 12:58:32 2026 +0200

    AVRO-4232: Install uv for the JavaScript & Docker CI workflows (#3665)
    
    * AVRO-4232: Install uv for the JavaScript & Docker CI workflows
    
    * Add /root/.local/bin to PATH for uv/uvx
    
    * Add more patterns to labeler.yml
---
 .github/labeler.yml                | 35 ++++++++++++++++++++++++-----------
 .github/workflows/test-lang-js.yml | 15 +++++++++------
 share/docker/Dockerfile            | 17 ++++++-----------
 3 files changed, 39 insertions(+), 28 deletions(-)

diff --git a/.github/labeler.yml b/.github/labeler.yml
index a6184f0538..1e4e98e783 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -18,36 +18,49 @@
 #
 # Pull Request Labeler Github Action Configuration: 
https://github.com/marketplace/actions/labeler
 
-C: 
+C:
   - changed-files:
     - any-glob-to-any-file: "lang/c/**/*"
-C++: 
+    - any-glob-to-any-file: ".github/workflows/test-lang-c.yml"
+C++:
   - changed-files:
     - any-glob-to-any-file: "lang/c++/**/*"
-C#: 
+    - any-glob-to-any-file: ".github/workflows/test-lang-c++.yml"
+C#:
   - changed-files:
     - any-glob-to-any-file: "lang/csharp/**/*"
-Java: 
+    - any-glob-to-any-file: ".github/workflows/*-csharp*.yml"
+Java:
   - changed-files:
     - any-glob-to-any-file: "lang/java/**/*"
-Js: 
+    - any-glob-to-any-file: ".github/workflows/*-java*.yml"
+    - any-glob-to-any-file: ".github/workflows/*maven*.yml"
+    - any-glob-to-any-file: ".github/workflows/*spotless*.yml"
+Js:
   - changed-files:
     - any-glob-to-any-file: "lang/js/**/*"
-Perl: 
+    - any-glob-to-any-file: ".github/workflows/*-js*.yml"
+Perl:
   - changed-files:
     - any-glob-to-any-file: "lang/perl/**/*"
-Php: 
+    - any-glob-to-any-file: ".github/workflows/test-lang-perl.yml"
+Php:
   - changed-files:
     - any-glob-to-any-file: "lang/php/**/*"
-Python: 
+    - any-glob-to-any-file: ".github/workflows/test-lang-php.yml"
+Python:
   - changed-files:
     - any-glob-to-any-file: "lang/py/**/*"
-Ruby: 
+    - any-glob-to-any-file: ".github/workflows/*-py*.yml"
+Ruby:
   - changed-files:
     - any-glob-to-any-file: "lang/ruby/**/*"
-build: 
+    - any-glob-to-any-file: ".github/workflows/test-lang-ruby.yml"
+build:
   - changed-files:
     - any-glob-to-any-file: ["**/*Dockerfile*", "**/*.sh", "**/*pom.xml", 
".github/**/*"]
-website: 
+    - any-glob-to-any-file: ".github/workflows/test-docker.yml"
+website:
   - changed-files:
     - any-glob-to-any-file: "doc/**/*"
+    - any-glob-to-any-file: ".github/workflows/deploy-docs.yml"
diff --git a/.github/workflows/test-lang-js.yml 
b/.github/workflows/test-lang-js.yml
index 95a875dc6b..0033a203b5 100644
--- a/.github/workflows/test-lang-js.yml
+++ b/.github/workflows/test-lang-js.yml
@@ -37,7 +37,7 @@ jobs:
     runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        os: 
+        os:
           - ubuntu-latest
           - ubuntu-24.04-arm
         node:
@@ -68,7 +68,7 @@ jobs:
     runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        os: 
+        os:
           - ubuntu-latest
           - ubuntu-24.04-arm
         node:
@@ -99,10 +99,13 @@ jobs:
                                                             liblzma-dev \
                                                             libsnappy-dev \
                                                             libzstd-dev
-      - name: Install Python Dependencies
-        run: |
-          python3 -m pip install --break-system-packages --upgrade pip 
setuptools tox 
-          python3 -m pip install --break-system-packages python-snappy 
zstandard
+
+      - name: Setup uv
+        uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
+
+      - name: Install Dependencies
+        working-directory: lang/py
+        run: uv sync --frozen
 
       - name: Create Interop Data Directory
         working-directory: .
diff --git a/share/docker/Dockerfile b/share/docker/Dockerfile
index 5e11cb4e39..5932e5be7b 100644
--- a/share/docker/Dockerfile
+++ b/share/docker/Dockerfile
@@ -189,15 +189,10 @@ RUN apt-get -qqy install --no-install-recommends mypy \
                                                  python3.11 \
                                                  python3.12 \
                                                  python3.13 \
-                                                 python3.13-dev \
-                                                 python3-pip \
-                                                 python3-setuptools \
-                                                 python3-snappy \
-                                                 python3-venv \
-                                                 python3-wheel \
-                                                 python3-zstandard \
-                                                 tox \
- && apt-get -qqy clean
+                                                 python3.14 \
+                                                 python3.14-dev \
+ && apt-get -qqy clean \
+ && curl -LsSf https://astral.sh/uv/0.10.4/install.sh | sh
 
 # Install Ruby
 RUN apt-get -qqy install ruby-full \
@@ -211,7 +206,7 @@ RUN gem install bundler --no-document && \
 
 # Install Rust
 RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y 
--default-toolchain 1.73.0
-ENV PATH=$PATH:/root/.cargo/bin/
+ENV PATH=$PATH:/root/.cargo/bin/:/root/.local/bin
 
 # Install .NET SDK
 RUN cd /opt ; \
@@ -219,7 +214,7 @@ RUN cd /opt ; \
     bash ./dotnet-install.sh --channel "6.0" --install-dir "/opt/dotnet" ; \
     bash ./dotnet-install.sh --channel "7.0" --install-dir "/opt/dotnet" ; \
     bash ./dotnet-install.sh --channel "8.0" --install-dir "/opt/dotnet" ;
-    
+
 ENV PATH=$PATH:/opt/dotnet
 
 # Since we want the JDK21 as a default, we have to re-prepend it to the PATH.

Reply via email to