Skip to content

Showcase Nox with micromamba - #185

Closed
furtib wants to merge 2 commits into
Ericsson:mainfrom
furtib:nox-mamba
Closed

furtib wants to merge 2 commits into
Ericsson:mainfrom
furtib:nox-mamba

Conversation

@furtib

@furtib furtib commented Feb 3, 2026 •

Copy link
Copy Markdown
Contributor

Why:
We want a stable testing framework that supports testing with different Bazel, Python, and Codechecker versions

What:

  • Added a minimal Nox example for testing

Notes:

  • The runtime of the full tests is expected to be ~160 minutes.
  • This is currently just a showcase of how it could work. I haven't put much thought into details, like placement of files, file names, etc.

Addresses:
#163

@furtib furtib self-assigned this Feb 3, 2026
@furtib furtib added the CI 📦 label Feb 3, 2026
@furtib
furtib marked this pull request as ready for review February 4, 2026 13:16

@nettle nettle left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quite interesting, but has some issues.
I will definitely try to play with it


- name: Install dependencies
run: |
pip install nox pytest

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The main point of micromamba is to provide a way to install all dependencies.
If we need to install nox and pytest before micromamba then why do we need micromamba?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I didn't consider that part.

Comment on lines +41 to +48
# Bazel 7 provided by micromamba is compiled using a newer java version
# than the default in Github runner
- name: Set up JRE 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
java-package: 'jre'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's interesting. I do not see that in Jenkins. Should this be fixed in micromamba env?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is indeed fascinating. I don't think we should place too big an emphasis on it, since it is a Bazel dependency. (I expect projects using Bazel to have an environment working with the Bazel binary.)


- name: Install micromamba and run tests
run: |
source .ci/nox/install.sh

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here we basically install micromamba, not nox

Comment thread noxfile.py
@@ -0,0 +1,73 @@
"""

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this file be located in .ci/nox/?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nox seems to want the file at the root of the git project folder. I'm sure it can be changed.

@furtib

furtib commented Feb 12, 2026

Copy link
Copy Markdown
Contributor Author

Since this basically just introduces another program dependency unnecessarily, let's skip this patch.
The key takeaway here is that Bazel relies on Java, and GitHub CI uses an old version of the Java runtime.

@furtib furtib closed this Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants