Skip to content

Improve CI.yml definition#453

Open
s-heppner wants to merge 1 commit intoeclipse-basyx:mainfrom
rwth-iat:Hotfix/CI
Open

Improve CI.yml definition#453
s-heppner wants to merge 1 commit intoeclipse-basyx:mainfrom
rwth-iat:Hotfix/CI

Conversation

@s-heppner
Copy link
Contributor

@s-heppner s-heppner commented Feb 2, 2026

Previously, we had some weird bugs with the CI pipeline sometimes failing (#400), but not always reproducible. Namely, sometimes the CI failed, due to mypy not finding the sdk types when running from the compliance_tool environment. Since currently, we are at a point where it is impossible to reproduce the failing CI (at least for me), I decided to clean up the job definitions a little bit and make some things more explicit.

Namely, instead of calling scripts like pip or mypy from their PATH, we now explicitly call them via python -m pip and python -m mypy. This theoretically ensures, that it always uses the script we just installed with the dependencies and not something the VM already had in its path via actions/setup-python@v5.
This should ensure that a script like mypy actually has all the necessary dependencies installed.

Secondly, we had a pip install -e ../sdk[dev], therefore installing the development dependencies of the sdk in the compliance_tool CI check. This is technically incorrect, since we use the sdk as external dependency and therefore shouldn't depend on the development dependencies. I therefore removed this.

Lastly, the sdk-readme-codeblocks check uses bash syntax. In theory, the Ubuntu environment should use bash by default, but now it is made explicit.

Fixes #400 (hopefully)

Note

After closing this PR we should immediatly merge this back to develop as well.

Previously, we had some weird bugs with the CI pipeline sometimes
failing (eclipse-basyx#400), but not always reproducible. Namely, sometimes the CI
failed, due to `mypy` not finding the `sdk` types when running from the
`compliance_tool` environment. Since currently, we are at a point where
it is impossible to reproduce the failing CI (at least for me), I
decided to clean up the job definitions a little bit and make some
things more explicit.

Namely, instead of calling scripts like `pip` or `mypy` from their PATH,
we now explicitly call them via `python -m pip` and `python -m mypy`.
This theoretically ensures, that it always uses the script we just
installed with the dependencies and not something the VM already had
in its path via `actions/setup-python@v5`.
This should ensure that a script like `mypy` actually has all the
necessary dependencies installed.

Secondly, we had a `pip install -e ../sdk[dev]`, therefore installing
the development dependencies of the `sdk` in the `compliance_tool` CI
check. This is technically incorrect, since we use the `sdk` as external
dependency and therefore shouldn't depend on the development
dependencies. I therefore removed this.

Lastly, the `sdk-readme-codeblocks` check uses `bash` syntax. In theory,
the Ubuntu environment should use `bash` by default, but now it is made
explicit.

Fixes eclipse-basyx#400 (hopefully)
@s-heppner s-heppner requested a review from zrgt February 4, 2026 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mypy import errors break CI pipeline

1 participant