-
Notifications
You must be signed in to change notification settings - Fork 59
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
Workflow Updates for PAPI GitHub CI #273
Workflow Updates for PAPI GitHub CI #273
Conversation
a2da77c
to
4a0a693
Compare
140dcf4
to
af68eb2
Compare
02095a8
to
addea10
Compare
Since you have the path-based conditional run configuration, we can't see if all the checks are able to run correctly. Can you temporarily comment out the conditional path instructions in the yaml files so that all checks will run? Once it is verified, you can enable them for the final commit. |
The failing Infiniband checks are running on the correct host (guyot), and the host has one active IB port, but the component is still disabled. If it you are able to get the component to activate when you do a similar check in a login session, then it is probably the case that we need to provide device access to the docker container that is running the github actions. Can you verify? Do you know which devices are required? |
@G-Ragghianti For the path based configuration for the individual components and CAT, I have already checked them once with them running successfully. However, I have made a few changes so I will run them again to be safe. For the infiniband component, when I am in a login session on Guyot and test building PAPI with the infiniband component it does show as active:
The infiniband component checks for |
Re: infiniband |
Here is the strace (strace_infiniband.txt) on Guyot for running |
I have exposed the infiniband device to the container, so the component should now activate. Please verify. |
@G-Ragghianti The infiniband tests are now working properly. |
e95ac22
to
1ae2097
Compare
The cuda component tests are a complete waste of time because they are failing due to timeout (1 hour limit). |
There was an erroneous line of code in the |
56f2934
to
13af820
Compare
Pull Request Description
This PR addresses updating the GitHub CI for PAPI. Below will be the outlined changes.
Individual Component Tests
If a component has changes to it (including subdirectories such as
tests
), CI tests will only run for that specific component with four options for when we build PAPI:--with-debug=yes
and--with-debug=no
--with-shlib-tools
and without--with-shlib-tools
Therefore only four tests will ever be run if changes are made to
src/components/*/**
. Each component will have a.yml
file (e.g.cuda_component.yml
) and use theci_per_component.sh
script.Counter Analysis Toolkit
The Counter Analysis Toolkit did not previously have CI tests for it. With this PR, CI tests are added for it. These additions can be seen with
cat.yml
andci_cat.sh
.As above, CI tests for the Counter Analysis Toolkit will only be ran if changes are done to
src/counter_analysis_toolkit/**
. As well as building PAPI will be done with the four options discussed in the Individual Component Tests section.PAPI Framework
If changes are made to the overall PAPI framework (
src/**
excluding individual components as well as the Counter Analysis Toolkit), then we will run a full test suite. This will encompass 14 tests and is currently the CI being ran in this PR.Adding a
run_tests_shlib.sh
ScriptThis script is being added to only run a single component test when the
--with-shlib-tools
option is enabled. Such that we can lower the overall GitHub CI time.Additional Comments
I have individually checked the following:
to make sure that they only run when an update to their directory or subdirectories has been made.
Author Checklist
Why this PR exists. Reference all relevant information, including background, issues, test failures, etc
Commits are self contained and only do one thing
Commits have a header of the form:
module: short description
Commits have a body (whenever relevant) containing a detailed description of the addressed problem and its solution
The PR needs to pass all the tests