aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix format spacingJoseph Hunkeler2024-09-181-1/+1
| |
| * Implement mp_pool_show_summaryJoseph Hunkeler2024-09-181-3/+10
| |
| * Add pool summary and elapsed time outputJoseph Hunkeler2024-09-182-0/+60
| | | | | | | | | | | | | | * Add get_task_duration() * Add get_pool_show_summary() * Add signaled_by member to MultiProcessingTask * Add time_data member to MultiProcessingTask for duration tracking
| * Wait for signaled processes to hang upJoseph Hunkeler2024-09-181-1/+5
| | | | | | | | * Only initiate a kill if we have more than one process. The current process is already failed out, no need to terminate it again.
| * Set task status to -1 by defaultJoseph Hunkeler2024-09-181-0/+3
| |
| * Add comments, remove dead codeJoseph Hunkeler2024-09-181-2/+24
| |
| * Break parent/child calls into static functionsJoseph Hunkeler2024-09-181-71/+86
| |
| * Add test_multiprocessing.cJoseph Hunkeler2024-09-181-0/+73
| |
| * Split mp_task into to functionsJoseph Hunkeler2024-09-181-63/+74
| |
| * Guard against overrunJoseph Hunkeler2024-09-181-2/+6
| |
| * Update example configJoseph Hunkeler2024-09-181-0/+13
| |
| * Fix doxygen commentsJoseph Hunkeler2024-09-181-3/+3
| |
| * Add multiprocessing.h to core.hJoseph Hunkeler2024-09-183-2/+2
| | | | | | | | * Remove multiprocessing.h from other files
| * Fix opt_flags assignment.Joseph Hunkeler2024-09-181-1/+3
| |
| * Fix mp_pool_join exampleJoseph Hunkeler2024-09-181-1/+1
| |
| * Workaround for a bug in firewatchJoseph Hunkeler2024-09-181-1/+1
| |
| * Fix sem_open initial stateJoseph Hunkeler2024-09-182-29/+16
| | | | | | | | | | | | * 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: Remove mmap MAP_POPULATE flagJoseph Hunkeler2024-09-181-3/+3
| |
| * Darwin portability: Use sem_open and sem_close instead of sem_init and ↵Joseph Hunkeler2024-09-182-4/+8
| | | | | | | | sem_destroy
| * Correct package nameJoseph Hunkeler2024-09-181-1/+1
| |
| * Fixing headersJoseph Hunkeler2024-09-182-12/+3
| |
| * Update integration test to utilize the multiprocessing poolJoseph Hunkeler2024-09-182-5/+30
| |
| * Implement multiprocessing pool(s)Joseph Hunkeler2024-09-187-86/+252
| | | | | | | | | | * 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-185-10/+515
|/ | | | * Move core_mem.h below config.h
* Reference basetemp_dir and junitxml_file functions in README.md (#44)Joseph Hunkeler2024-09-181-11/+11
|
* Fixes incorrect reference to conda environment variable (#45)Joseph Hunkeler2024-09-181-1/+1
| | | | * Change CONDA_ENV_DEFAULT to CONDA_DEFAULT_ENV * Thanks, @GeorgeJCleary!
* Fix errant change of "cmd" string (#42)Joseph Hunkeler2024-09-161-2/+2
| | | * Was supposed to be pandoc_versioned_args
* Fix typo: (#41)Joseph Hunkeler2024-08-304-8/+8
| | | * Change python_compat to python_compact
* Bug fix: CONDA_ENV_DEFAULT should be CONDA_DEFAULT_ENV (#40)Joseph Hunkeler2024-08-291-1/+1
|
* Add test_environment.c (#39)Joseph Hunkeler2024-08-291-0/+76
|
* Pandoc improvements (#37)Joseph Hunkeler2024-08-283-12/+355
| | | | | | | | | | | | | | | * Tweak pandoc command and add a style sheet * Only search for platform sub-string when valid * Add get_pandoc_version * Add version checking and set options accordingly * Add support for globals.sysconfdir * Add missing brace * Remove options that are created dynamically
* System calls fixup (#38)Joseph Hunkeler2024-08-282-47/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix up shell() behavior * Removes dead code after execl() * Return the return value of execl() immediately * Output redirection fix: if f_stderr and redirect_stderr were both set, stderr was not redirected * Move the file handles into the child process * Bash now executes with --norc to avoid clobbering environment variables. This mimics /bin/sh behavior. * Fix test script environment * shell() already provides a temporary script. Not jumping into another sub-shell should preserve help preserve the top-level environment. * Try a different approach using declare -f * Revert "Try a different approach using declare -f" This reverts commit ea8ec855c3c6870d29c55afe3787afb2c05026a1. * Revert "Fix test script environment" This reverts commit 0a4efe972a78378eba5c5fbc6819c39b3cc6c9cb. * Change script permissions: 0700 * Force conda reactivation in test script * Switch to the usual environment reactivation method
* More tests (#36)Joseph Hunkeler2024-08-262-0/+133
| | | | | * Add test_copy.c * Add test_wheel.c
* CI add pandoc (and bug fixes) (#35)Joseph Hunkeler2024-08-203-1/+19
| | | | | | | | | * Fix pandoc command regression * Add space between destination and input * Add pandoc dependency * Dump output of indexed files
* Update mission configs (#34)Joseph Hunkeler2024-08-209-103/+211
| | | | | | | | | | | * Clean package caches (saves about 1GB of layer-space) * Update installation instructions * Update layout * Use template variables where appropriate * Instructions now provide release notes in one place * Pandoc now uses --standalone
* Pypi existence check (#30)Joseph Hunkeler2024-08-204-11/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-174-6/+20
| | | | | * 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
* Implement TODO item (#32)Joseph Hunkeler2024-08-171-11/+25
| | | | * The array of packages now used to check the runtime environment instead of two separate scanning methods * Renamed tools array to: conda_minimum_viable_tools
* Undo changes made to Dockerfile.in (#31)Joseph Hunkeler2024-08-174-8/+4
| | | | * The packages directory is copied to the build/docker directory. * There is no need to separate these ADD calls.
* Add template convience functions (and bug fixes) (#29)Joseph Hunkeler2024-08-156-2/+57
| | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Support git+schema style strings in package list (#24)Joseph Hunkeler2024-08-151-16/+41
|
* indexer: Handle destination directories more gracefully (#28)Joseph Hunkeler2024-08-153-35/+128
| | | | | | | | | | | | | | | | | | | | * Handle destination directories more gracefully * The storage.output_dir is now the storage.root to avoid generating a sub-directory beneath the temporary working directory * The destination directory is created, then resolved by realpath to avoid generating the destination directory within the temporary working directory when a relative path is used as input * Replace the original file instead of using rename() * rename() cannot operate across file system boundaries * Dynamically allocate rootdirs array * Use realpath on positional arguments * Convert all markdown files to HTML * README.html files are considered entry points and are linked as index.html * Assign retcode after indexing
* Remove unused copytree() function (#27)Joseph Hunkeler2024-08-132-102/+0
| | | * Functionality was replaced by rsync long ago
* Move mkdirs() into utils module (#26)Joseph Hunkeler2024-08-134-35/+36
|
* Add test_recipe.c (#25)Joseph Hunkeler2024-08-131-0/+100
| | | | | | | | | * Add test_recipe.c * Unit test for recipe functions * Add error cases * Add missing explicit members in testcase array definition
* More unit tests (and fixing bugs) (#23)Joseph Hunkeler2024-08-1211-5/+352
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix Dockerfile ADD (#22)Joseph Hunkeler2024-08-094-4/+8
| | | | * Destination directories were not created properly * This ensures $HOME/packages/{conda,wheels} are created in the docker developer home directory
* Render during bootstrap (#21)Joseph Hunkeler2024-08-081-2/+2
|
* Return of the INI refactor (#20)Joseph Hunkeler2024-08-0814-200/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix leaks in tpl functions (#18)Joseph Hunkeler2024-08-072-0/+4
| | | | | | | | * Free the function key string in tplfunc_frame during tpl_free() * Fix leaks in get_github_release_notes_auto_tplfunc_entrypoint(): * Free repository name * Free list of release notes