aboutsummaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Restructure projectdelivery-libJoseph Hunkeler2024-12-1127-3014/+0
| | | | | | * Move headers to relevant include directories within the target tree(s) * Adjust doxygen configuration to search correct paths * Adjust CMake configuration to use new include paths
* Add ability to use artifactory without uploading any artifacts at the end.Joseph Hunkeler2024-12-031-0/+1
| | | | | | * New option: --no-artifactory-upload * Implies --no-artifactory-build-info * Updated README.md
* Add DELIVERY_[NOT_]FOUND definesJoseph Hunkeler2024-12-031-0/+12
| | | | * Add delivery_series_sync function to download previously delivered files from artifactory
* Add basic unindent functionJoseph Hunkeler2024-12-031-0/+2
|
* Break down indexer into independent source filesJoseph Hunkeler2024-11-181-0/+5
| | | | | * Generate test result output * Add helper function to manage changing file extensions
* Attempt conda environment removal only when its present on-diskworkaround-shebang-nightmareJoseph Hunkeler2024-11-131-0/+2
|
* Rename path_manip() to env_manipulate_pathstr()Joseph Hunkeler2024-11-131-6/+9
| | | | * Add key argument to generalize the function
* Add path_manip functionJoseph Hunkeler2024-11-121-0/+13
|
* Add missing parameters to docstringsJoseph Hunkeler2024-11-011-0/+3
|
* Fix SYSERROR macroJoseph Hunkeler2024-11-011-1/+1
| | | | * "info" was always printed instead of the errno string. Now it prints the error and returns "info" on "Success"
* Generalize *_index_provides interfaceJoseph Hunkeler2024-10-241-10/+37
| | | | | * Replaces conda_* and pip_* with pkg_index_provides * Because this function can fail in so many ways I've added pkg_index_provides_strerror() and a detection macro PKG_INDEX_PROVIDES_FAILED() to make things easier
* Add MP_POOL_TASK_STATUS_INITIALJoseph Hunkeler2024-10-221-0/+3
| | | | * Better than putting -1 everywhere
* Change signature:Joseph Hunkeler2024-10-211-1/+1
| | | | * delivery_gather_tool_versions now returns non-zero if unable to determine a tool's version
* Reduce length of stasis_main.crestructure-the-worldJoseph Hunkeler2024-10-141-0/+30
|
* Fix includesJoseph Hunkeler2024-10-1412-23/+33
|
* Fix doxygen file markerper-mission-base-envJoseph Hunkeler2024-10-086-5/+6
|
* Fix/add header documentationfix-bare-package-argumentsJoseph Hunkeler2024-10-071-4/+7
|
* pip_index_provides does not need a separate versionJoseph Hunkeler2024-10-071-1/+1
| | | | * To be more aligned with conda_provides, the version spec has been consolidated into one argument
* Add function delivery_overlay_packages_from_env()Joseph Hunkeler2024-10-041-0/+2
| | | | * Add helper function have_spec_in_config()
* Add find_version_spec() to utilsadd-get-version-specJoseph Hunkeler2024-10-041-0/+24
|
* Add return valuesJoseph Hunkeler2024-10-041-0/+2
|
* Clean up get_wheel_infoJoseph Hunkeler2024-10-041-12/+21
| | | | | | * Add error handling * Fix resource leaks that occurred on error * Add wheel_free() function
* Add conda_get_active_environment() functionconda-get-active-environmentJoseph Hunkeler2024-10-041-0/+5
|
* Allow user to disable parallel mode (shortcut for --cpu-limit=1)Joseph Hunkeler2024-10-021-2/+3
|
* Allow user to define the time interval for "task is running" messageJoseph Hunkeler2024-10-021-0/+3
|
* Allow user to define the time interval for "task is running" messageJoseph Hunkeler2024-10-021-0/+1
|
* Fix typoJoseph Hunkeler2024-09-301-1/+1
| | | | * pararm -> param
* mp_pool_init(): return NULL when ident argument is NULLJoseph Hunkeler2024-09-271-0/+1
| | | | * reported by @kmacdonald-stsci
* Implement cmd and working_dirJoseph Hunkeler2024-09-261-1/+1
|
* Add cmd and working_dir members to MultiProcessingTask structureJoseph Hunkeler2024-09-261-0/+2
|
* Remove usage of POSIX semaphoresJoseph Hunkeler2024-09-261-1/+0
|
* Refactor structureJoseph Hunkeler2024-09-201-3/+22
| | | | * Break delivery.c into smaller components
* Fix a likely buffer overflowJoseph Hunkeler2024-09-181-1/+1
| | | | * The log_root is appended to log_file, and might exceed the defined length.
* Rename mp_task to mp_pool_taskJoseph Hunkeler2024-09-181-1/+1
|
* Add pool summary and elapsed time outputJoseph Hunkeler2024-09-181-0/+12
| | | | | | | * Add get_task_duration() * Add get_pool_show_summary() * Add signaled_by member to MultiProcessingTask * Add time_data member to MultiProcessingTask for duration tracking
* Fix doxygen commentsJoseph Hunkeler2024-09-181-3/+3
|
* Add multiprocessing.h to core.hJoseph Hunkeler2024-09-181-0/+1
| | | | * Remove multiprocessing.h from other files
* Fix mp_pool_join exampleJoseph Hunkeler2024-09-181-1/+1
|
* Fix sem_open initial stateJoseph Hunkeler2024-09-181-2/+2
| | | | | | * Move slot->gate assignment to mp_pool_task() * Remove mmap() to slot->gate. * Change type of ident and log_root variables for the sake of easy (fewer maps)
* Darwin portability: Use sem_open and sem_close instead of sem_init and ↵Joseph Hunkeler2024-09-181-0/+1
| | | | sem_destroy
* Fixing headersJoseph Hunkeler2024-09-181-10/+3
|
* Implement multiprocessing pool(s)Joseph Hunkeler2024-09-182-0/+4
| | | | | * Adds --cpu-limit and --parallel-fail-fast arguments * Adds disable, parallel, and setup_script keys to [test] blocks
* Move guard_ macros to core_mem.hJoseph Hunkeler2024-09-183-10/+141
| | | | * Move core_mem.h below config.h
* Pypi existence check (#30)Joseph Hunkeler2024-08-201-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add python_package_exists() function * Poll pypi.org or compatible index to see if a package exists * Returns non-zero on success * Implements python_package_exists() in delivery_defer_packages() * Implements python_package_exists() in delivery_defer_packages() * Bugfix: Avoid incorrect package selection * With large package lists that contain multiple packages starting with the same strstr() would pick the first match * This adds a temporary name variable that strcmp() can check against. * Message correction: * Change "release" to "testing" in testing environment failure message * Amend message to fit the flow of the output * Disable outdated conda notifications * The latest version isn't always the greatest. Don't give the end-user any ideas. Just use whatever the installer provides... quietly * Rename python_package_exists to pip_index_provides * Document the function prototype * Add missing comments in micromamba structure * Ensure the temporary output file does not linger
* Allow the user to disable uploading build info objects to artifactory (#33)Joseph Hunkeler2024-08-171-0/+1
| | | | | * Add enable_artifactory_build_info to globals structure * Add --no-artifactory-build-info command line argument to status main() * Useful for diag/test runs when a fully traceable delivery isn't desired
* Add template convience functions (and bug fixes) (#29)Joseph Hunkeler2024-08-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * Die when render variable is NULL * This was caught when a call to {{ func:xyz() }} lacked opening/closing parenthesis * Scripts in tests should only render template strings right before execution * Remove conda version pin * This avoids updating conda in the base environment * This also avoids pitfalls associated with newly released (always broken) versions of conda * Add two template convenience functions * get_junitxml_result_auto() * get_basetemp_result_auto() * Handle rendering error for test script * Rename functions * get_junitxml_result_auto -> junitxml_file * get_basetemp_result_auto -> basetemp_dir * Thank you, @zacharyburnett
* Remove unused copytree() function (#27)Joseph Hunkeler2024-08-131-18/+0
| | | * Functionality was replaced by rsync long ago
* Move mkdirs() into utils module (#26)Joseph Hunkeler2024-08-132-8/+8
|
* More unit tests (and fixing bugs) (#23)Joseph Hunkeler2024-08-122-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add test_artifactory.c to suite * Add test_ini_getval_wrapper to ini.c * basic ini_getval_TYPE() conversion checks * bugfix: use strtof in INIVAL_TYPE_FLOAT case * Include stdio.h to pull in FILE structure * bugfix: free data at index during strlist_set operation * Previous behavior of setting the pointer to NULL introduced a subtle memory leak * Set strlist error when index it out of range * Import private delivery functions required for mock context creation * Remove static declaration * populate_delivery_cfg() * Add test_junitxml.c * Fix duplicate define value for JUNIT_RESULT_STATE_ERROR * Add static junit test data * Copy test data to current test directory
* Return of the INI refactor (#20)Joseph Hunkeler2024-08-082-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Continuation of #19 * Fixes always_update_base_environment override bug added by PR #19 * Finish type hinting implementation * ini_getval_* functions now able to affect rendering mode using INI_READ_RAW and INI_READ_RENDER * Created pointers to deeply nested structures to increase readability * Output from ini_write() is more consistent, with fewer errant spaces and line feeds * Fixes accidental regression in #19. INIVAL_TYPE_STR_ARRAY never produced an array of pointers to char. This needs to be corrected in the future. i.e. It has always generated a new-line delimited string, not a StrList, or array. * Fix strlist_append_tokenize * original pointer is no longer modified * token strings are stripped of leading space before appending to the list * Use defines instead of magic numbers * delivery_init: add render_mode argument * test_conda: Add render mode * test_ini: Add render mode * Only add conda packages and wheels to the image * docker images are saved to the packages directory and will be consumed by the image if present. * Render template variables after bootstrapping the delivery