Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement dpdk_build_check #72

Merged
merged 6 commits into from
Nov 14, 2023
Merged

Implement dpdk_build_check #72

merged 6 commits into from
Nov 14, 2023

Conversation

ffoulkes
Copy link
Contributor

@ffoulkes ffoulkes commented Nov 7, 2023

  • Do a DPDK build check in addition to running the DPDK unit tests.
  • Perform both checks in the context of networking-recipe instead of using standalone mode.

GitHub reports that "some checks haven't completed yet" because I renamed check_krnlmon_dpdk to dpdk_unit_tests. This issue will go away once I update the list of required checks (after merging this PR).

Signed-off-by: Derek G Foster <[email protected]>
- Do krnlmon checks in the context of networking-recipe instead of
  using standalone mode.

Signed-off-by: Derek G Foster <[email protected]>
Signed-off-by: Derek G Foster <[email protected]>
Signed-off-by: Derek G Foster <[email protected]>
Signed-off-by: Derek G Foster <[email protected]>
Signed-off-by: Derek G Foster <[email protected]>
@ffoulkes ffoulkes added minor effort Minimal effort required github_actions Pull requests that update GitHub Actions code labels Nov 7, 2023
export DEPEND_INSTALL=$DEPS_INSTALL_DIR
export SDE_INSTALL=$SDE_INSTALL_DIR
./make-all.sh --target=dpdk --rpath --no-ovs --no-build
cmake --build build -j4 --target krnlmon
Copy link
Collaborator

Choose a reason for hiding this comment

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

--target krnlmon?

What does this mean?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It instructs cmake to build the krnlmon target. It's the equivalent of make -C build krnlmon.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I didnt realize krnlmon target was supported

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We're just full of surprises. 😉

Copy link
Contributor

Choose a reason for hiding this comment

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

Since krnlmon is treated as separate target, is krnlmon a separate process and not a thread anymore? Do we need to start krnlmon separately?

Copy link
Contributor Author

@ffoulkes ffoulkes Nov 14, 2023

Choose a reason for hiding this comment

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

This workflow just checks to see if krnlmon compiles okay. The output is a library (libkrnlmon). The result is not runnable.

The workflow runs when a PR is created against the krnlmon repository. Anything we do here should be largely independent of networking-recipe. (There's a weakness here, in that krnlmon depends on several include files in networking-recipe/cmake. I'm crossing my fingers that this does not become an issue. I should probably move them to a separate repository and include it as a submodule, but I've been reluctant to do so for so few files.)

Krnlmon has very few dependencies, so the process completes in ~30 seconds. We want our build checks to be fast.

Copy link
Collaborator

@5abeel 5abeel left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@nupuruttarwar nupuruttarwar left a comment

Choose a reason for hiding this comment

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

LGTM

@ffoulkes ffoulkes merged commit 9099b68 into main Nov 14, 2023
3 checks passed
@ffoulkes ffoulkes deleted the dpdk_build_check branch November 14, 2023 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
github_actions Pull requests that update GitHub Actions code minor effort Minimal effort required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants