-
-
Notifications
You must be signed in to change notification settings - Fork 667
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DOC: Add external module continuous integration discussion
Add discussion to reference the ITKRemoteModuleBuildTestPackageAction GitHub project for reusable CI workflows for ITK external modules.
- Loading branch information
Showing
2 changed files
with
42 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# ITK External Module Continuous Integration | ||
|
||
The Insight Software Consortium [ITKRemoteModuleBuildTestPackageAction](https://github.com/InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/blob/main/README.md) project provides reusable GitHub Actions workflows to support ITK module development. | ||
|
||
Reusable ITK workflows provide the following features across Linux, macOS, and Windows platforms: | ||
- Automated C++ build validation | ||
- Automated C++ testing | ||
- Unit testing | ||
- Style enforcement | ||
- Automated Python build validation | ||
- Automated Python Jupyter Notebook testing | ||
- Automated Python packaging and uploads | ||
|
||
ITK reusable workflows support most ITK external modules and provide CI boilerplate to minimize the development effort required of collaborators. | ||
|
||
## Example Usage | ||
|
||
It is easy to add ITK reusable workflow integration to an external module. In a file `workflow.yml` in the `.github/workflows` directory of your project, add the following specification: | ||
|
||
```yml | ||
name: Build, test, package | ||
|
||
on: [push,pull_request] | ||
|
||
jobs: | ||
cxx-build-workflow: | ||
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/[email protected] | ||
with: | ||
itk-cmake-options: '-DITK_BUILD_DEFAULT_MODULES:BOOL=OFF -DITKGroup_Core:BOOL=ON' | ||
|
||
python-build-workflow: | ||
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/[email protected] | ||
with: | ||
test-notebooks: true | ||
secrets: | ||
pypi_password: ${{ secrets.pypi_password }} | ||
``` | ||
## Further Reading | ||
For more information visit README documentation at the [ITKRemoteModuleBuildTestPackageAction](https://github.com/InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/blob/main/README.md#itkremotemodulebuildtestpackageaction) project. |