curl -sSL https://raw.githubusercontent.com/VoltLabs-Research/CoreToolkit/main/scripts/install-plugin.sh | bash -s -- OpenDXAinstall-plugin.sh clones CoreToolkit, the minimum plugin dependency chain, installs the
required local toolchain, packages upstream local dependencies with Conan, and builds the
requested plugin locally under build-local.
Supported plugin targets:
AtomicStrainCentroSymmetryParameterClusterAnalysisCommonNeighborAnalysisCoordinationAnalysisDisplacementsAnalysisElasticStrainGrainSegmentationLineReconstructionDXAOpenDXAPatternStructureMatchingPolyhedralTemplateMatchingStructureIdentification
Optional environment variables:
WORK_DIR: ecosystem root to clone/build into. Default:./voltlabs-ecosystemGITHUB_ORG: GitHub organization base URL. Default:https://github.com/VoltLabs-ResearchBUILD_TYPE: local CMake build type for the target plugin. Default:Release
When scripts/install-plugin.sh clones the required repositories, WORK_DIR points directly
to the ecosystem root. By default that is ./voltlabs-ecosystem, with this structure:
tools/:CoreToolkit,VoltSDK,SpatialAssembler,HeadlessRasterizer,LammpsIOplugins/:StructureIdentification,AtomicStrain,CentroSymmetryParameter,ClusterAnalysis,CoordinationAnalysis,DisplacementsAnalysis,ElasticStrain,GrainSegmentation,OpenDXAapp/:Volt,ClusterDaemon
The plugin installer does not clone the whole stack by default. It only clones:
CoreToolkit- the requested plugin
- the local plugin repositories required by that plugin's Conan dependency chain
CoreToolkit now exposes a reusable workflow at .github/workflows/build-plugin-binary.yml.
Each plugin repository can call that workflow from its own .github/workflows/publish-plugin-binary.yml file to:
- build the plugin against a fresh CoreToolkit checkout,
- package the installed binary bundle, and
- publish the bundle to GHCR as an OCI artifact.
Package naming follows this pattern:
ghcr.io/voltlabs-research/<plugin-repo-lowercase>-binary:sha-<commit>-<os>-<arch>ghcr.io/voltlabs-research/<plugin-repo-lowercase>-binary:<tag>-<os>-<arch>for tag builds
CoreToolkit also exposes a reusable workflow at .github/workflows/build-plugin-oci.yml.
Each plugin repository can call that workflow from its own .github/workflows/publish-plugin-oci.yml
file to:
- build the plugin against a fresh CoreToolkit checkout,
- install it into a clean staging directory,
- package that staging directory into a runnable OCI image, and
- publish the image to GHCR.
The runtime image uses debian:bookworm-slim by default, installs the required
runtime packages, and dispatches through scripts/plugin-entrypoint.sh so plugins
such as OpenDXA and PatternStructureMatching receive sensible default lattice
directories inside the image.
OCI image naming follows this pattern:
ghcr.io/voltlabs-research/<plugin-repo-lowercase>-oci:sha-<commit>-linux-<arch>ghcr.io/voltlabs-research/<plugin-repo-lowercase>-oci:<tag>-linux-<arch>for tag builds