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

pdallig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new b50bafbb2a [ZEPPELIN-6194] Fix flaky Conda environment setup by using 
strict channel priority in GitHub Actions
b50bafbb2a is described below

commit b50bafbb2ae65b5aa34c4117033ce22580865527
Author: Gyeongtae Park <67095975+parkgyeong...@users.noreply.github.com>
AuthorDate: Tue Jun 3 21:58:01 2025 +0900

    [ZEPPELIN-6194] Fix flaky Conda environment setup by using strict channel 
priority in GitHub Actions
    
    ### What is this PR for?
    **Problem Summary:**
    The interpreter-test-non-core (11) job within the core GitHub Actions 
workflow occasionally fails during the Conda environment setup phase. These 
failures are non-deterministic (flaky) and do not correlate with specific code 
changes, indicating an environment-related root cause.
    
    **Details:**
    The failure typically occurs when resolving dependencies using Conda, with 
the following error observed:
    ```bash
    python: /croot/libsolv-suite.../rules.c:261: solver_addrule: Assertion `!p2 
&& d > 0' failed.
    ```
    This assertion failure is triggered by Conda's dependency resolver 
(libsolv) when it encounters unresolved or conflicting constraints.
    Previously, the workflow used channel-priority: true, which corresponds to 
flexible priority mode. This allowed mixing packages from both conda-forge and 
defaults, potentially leading to dependency conflicts.
    
    **Resolution:**
    The Conda configuration has been updated to use channel-priority: strict, 
ensuring that all dependencies are resolved from conda-forge unless unavailable:
    ```bash
    with:
      ...
      channel-priority: strict
      ...
    ```
    After this change, the flaky behavior during environment setup was no 
longer observed in repeated runs.
    
    ### What type of PR is it?
    Bug Fix
    
    ### Todos
    * [x] - Update `setup-miniconda` configuration
    
    ### What is the Jira issue?
    * https://issues.apache.org/jira/browse/ZEPPELIN/ZEPPELIN-6194
    
    ### How should this be tested?
    * This should be validated by re-running the `core` workflow multiple times 
to confirm that the flaky behavior in `interpreter-test-non-core (11)` no 
longer occurs during Conda environment setup.
    
    ### Screenshots (if appropriate)
    N/A
    
    ### Questions:
    * Does the license files need to update? No.
    * Is there breaking changes for older versions? No.
    * Does this needs documentation? No.
    
    
    Closes #4937 from ParkGyeongTae/fix-conda-channel-priority.
    
    Signed-off-by: Philipp Dallig <philipp.dal...@gmail.com>
---
 .github/workflows/core.yml     | 16 ++++++++--------
 .github/workflows/frontend.yml |  2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml
index 7a4ca6ddf3..8c6935fdca 100644
--- a/.github/workflows/core.yml
+++ b/.github/workflows/core.yml
@@ -74,7 +74,7 @@ jobs:
           environment-file: testing/env_python_3.9_with_R.yml
           python-version: 3.9
           channels: conda-forge,defaults
-          channel-priority: true
+          channel-priority: strict
           auto-activate-base: false
           use-mamba: true
       - name: Make IRkernel available to Jupyter
@@ -124,7 +124,7 @@ jobs:
           environment-file: testing/env_python_3_with_R_and_tensorflow.yml
           python-version: 3.9
           channels: conda-forge,defaults
-          channel-priority: true
+          channel-priority: strict
           auto-activate-base: false
           use-mamba: true
       - name: verify interpreter
@@ -166,7 +166,7 @@ jobs:
           environment-file: testing/env_python_${{ matrix.python }}_with_R.yml
           python-version: ${{ matrix.python }}
           channels: conda-forge,defaults
-          channel-priority: true
+          channel-priority: strict
           auto-activate-base: false
           use-mamba: true
       - name: Make IRkernel available to Jupyter
@@ -221,7 +221,7 @@ jobs:
           environment-file: testing/env_python_3_with_R.yml
           python-version: 3.9
           channels: conda-forge,defaults
-          channel-priority: true
+          channel-priority: strict
           auto-activate-base: false
           use-mamba: true
       - name: Make IRkernel available to Jupyter
@@ -277,7 +277,7 @@ jobs:
           environment-file: testing/env_python_3_with_flink_${{ matrix.flink 
}}.yml
           python-version: ${{ matrix.python }}
           channels: conda-forge,defaults
-          channel-priority: true
+          channel-priority: strict
           auto-activate-base: false
           use-mamba: true
       - name: run tests for flink
@@ -325,7 +325,7 @@ jobs:
           environment-file: testing/env_python_3_with_R.yml
           python-version: 3.9
           channels: conda-forge,defaults
-          channel-priority: true
+          channel-priority: strict
           auto-activate-base: false
           use-mamba: true
       - name: Make IRkernel available to Jupyter
@@ -372,7 +372,7 @@ jobs:
           environment-file: testing/env_python_${{ matrix.python }}_with_R.yml
           python-version: ${{ matrix.python }}
           channels: conda-forge,defaults
-          channel-priority: true
+          channel-priority: strict
           auto-activate-base: false
           use-mamba: true
       - name: Make IRkernel available to Jupyter
@@ -432,7 +432,7 @@ jobs:
           environment-file: testing/env_python_3.9_with_R.yml
           python-version: 3.9
           channels: conda-forge,defaults
-          channel-priority: true
+          channel-priority: strict
           auto-activate-base: false
           use-mamba: true
       - name: Make IRkernel available to Jupyter
diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
index 43108bbb38..a4be0d3d5f 100644
--- a/.github/workflows/frontend.yml
+++ b/.github/workflows/frontend.yml
@@ -119,7 +119,7 @@ jobs:
           environment-file: testing/env_python_3_with_R.yml
           python-version: 3.9
           channels: conda-forge,defaults
-          channel-priority: true
+          channel-priority: strict
           auto-activate-base: false
           use-mamba: true
       - name: Make IRkernel available to Jupyter

Reply via email to