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 <[email protected]>
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 <[email protected]>
---
.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