-
Notifications
You must be signed in to change notification settings - Fork 93
Continuous Integration
Github has a simple definition here
Automatically build and test your code as you push it upstream, preventing bugs from being deployed to production.
Arkouda uses Github actions to implement continuous integration and Github has a pretty handy article on various capabilities located here.
In the Arkouda repository the main CI workflow is under .github/workflows/CI.yml which contains a number of actions and checks to verify the software builds, passes tests, and has some rudimentary styling enforced.
If you have a fork of the Arkouda repository you can enable the main CI workflows on your fork by clicking on the settings tab (below your repo and forked from section you should see the tabs named Code Pull Requests ... Settings). Once in the Settings tab the Left-hand Pane has an Actions
button/selection where you can enable and configure basic Actions on your Arkouda fork.
You will need to enable actions and set the other permissions. Once set all workflows under the .github/workflows
directory are eligible to be run.
The gh-pages.yml workflow will also be automatically run as part of the github Actions triggers, however we have configured this workflow to only complete actions when run on the original Bears-R-Us/arkouda
repository. What this means to you: Even though you will see the action trigger and run the docs
job will be skipped; it is essentially a no-op.
Arkouda has a number of checks/jobs which will be run as part of the CI workflow. For the most accurate listing please look at the contents of the CI.yml
file itself. To give you a general idea
- Chapel-based server code will be built
- Chapel-based unit tests will be compiled, run, and expected output assessed
- Python based tests (both unit & functional end-to-end tests) will be run
-
mypy
type checking will be performed on the python client code (You can run this yourself viamake mypy
) - Documentation will be built
- Very rudimentary linting will check the Chapel source code for tabs
- Please see the Unit Testing wiki page for more details on the various types of tests and how to run them locally
- Please see the
.github/workflow/
files to see details on the various jobs and configuration used to run the automated checks/tests.