Skip to content

Showcase Nox with micromamba#185

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

Showcase Nox with micromamba#185
furtib wants to merge 2 commits intoEricsson:mainfrom
furtib:nox-mamba

Conversation

@furtib
Copy link
Contributor

@furtib furtib commented Feb 3, 2026

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
Copy link
Collaborator

@nettle nettle left a comment

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
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
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
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
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
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

@@ -0,0 +1,73 @@
"""
Copy link
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
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
Copy link
Contributor Author

furtib commented Feb 12, 2026

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