Skip to content

CI/CD development#13

Merged
crgnam merged 3 commits intomainfrom
ci_dev
Jan 2, 2026
Merged

CI/CD development#13
crgnam merged 3 commits intomainfrom
ci_dev

Conversation

@crgnam
Copy link
Copy Markdown
Owner

@crgnam crgnam commented Jan 2, 2026

An overhaul of the CI/CD pipeline to include conda packaging.

crgnam added 2 commits January 1, 2026 14:46
Remove develop staging branch.  Project will now use rebase or squash
merging strategies for Pull Requests.
@crgnam crgnam force-pushed the ci_dev branch 5 times, most recently from fab230a to 98bcf85 Compare January 2, 2026 20:06
This commit adds automated testing of the conda package to ensure that
downstream users can successfully use vira via find_package(vira).

CI/Workflow Changes:
- Rename build.yml to ci-cd.yml (and workflow name to "CI/CD Pipeline")
- Restrict workflow to only run on main branch and PRs to main
- Add conda-test-{linux,macos,windows} jobs that build a minimal test
  project against the installed conda package
- Use artifacts to pass built conda packages between build and test jobs
- Configure proper conda environment activation in test jobs
- Fix Windows local channel path using cygpath for proper file:// URLs
- Add "CI" gate job that depends on all other jobs for simplified
  branch protection (only need to require single "CI" status check)

Conda Recipe Fixes (dependencies/recipe/):
- Add explicit CMAKE_INSTALL_PREFIX to build.sh and bld.bat
- Disable optional build targets (tools, examples, tests, scratch, docs)
- Add all development dependencies to run requirements (header-only
  library requires -devel packages for downstream compilation)
- Add cmake config file existence tests to meta.yaml

CMake Package Configuration Fixes:
- Rename config files to lowercase (viraConfig.cmake, viraTargets.cmake)
  for proper find_package(vira) discovery
- Add VIRA_INSTALL_CMAKEDIR to PATH_VARS in configure_package_config_file
- Add missing find_dependency calls for indicators, plog, termcolor, cspice
- Install ViraFetch*.cmake helpers for downstream dependency resolution
- Create stb::stb target before including viraTargets.cmake

CMake Install Fixes:
- Install ViraFetch{Indicators,Plog,Termcolor,CSPICE}.cmake helper modules
  to allow downstream projects to find dependencies
- Fix ViraFetchSTB.cmake to install headers to include root (not stb/
  subdirectory) to match build-time include paths

Test Infrastructure:
- Add tests/packaging/CMakeLists.txt with minimal find_package test
- Add tests/packaging/main.cpp that includes vira/vira.hpp
@crgnam crgnam merged commit ca463d4 into main Jan 2, 2026
11 checks passed
@crgnam crgnam deleted the ci_dev branch January 2, 2026 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant