aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Set STASIS_SYSCONFDIR for testsunit-tests-againJoseph Hunkeler2024-07-131-0/+2
|
* If conda_setup_headless cannot succeed, dieJoseph Hunkeler2024-07-131-1/+4
|
* Free resources only when continue on error is disabled (#11)Joseph Hunkeler2024-07-131-3/+5
| | | * Fix segfault due to premature shutdown/cleanup
* Fixes segfault reported by @GeorgeJCleary (#10)Joseph Hunkeler2024-07-131-12/+17
| | | * The key is now an array index. When key is -1, the env variable is not defined.
* Add boilerplate source file for test frameworkJoseph Hunkeler2024-07-131-0/+17
|
* Add conda_*() testsJoseph Hunkeler2024-07-131-0/+181
|
* Add download() testsJoseph Hunkeler2024-07-131-0/+50
|
* Export ini_section_create() functionJoseph Hunkeler2024-07-131-0/+8
|
* Exposes STASIS_DOWNLOAD_TIMEOUT environment variableJoseph Hunkeler2024-07-131-0/+10
| | | | * Sets the connection timeout for libcurl to 30, instead of 300.
* The way the logic is set up I've decided to duplicate the installation code ↵Joseph Hunkeler2024-07-131-0/+12
| | | | | | for now until I find time to revise it * The only meaningful difference between a "fresh start" and reusing the conda installation is a rmtree().
* Exit program when pointer to INIFILE is NULL.Joseph Hunkeler2024-07-131-0/+4
| | | | * Validation function cannot otherwise proceed
* Return early if unpacking the micromamba binary failsJoseph Hunkeler2024-07-131-1/+4
|
* Change return value of conda_setup_headless() from void to intJoseph Hunkeler2024-07-132-6/+8
| | | | * Replace exit() with return;
* Add github.c and github.h (#9)Joseph Hunkeler2024-07-0624-81/+593
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add github.c and github.h * Implements get_github_release_notes() * Remove unused variables * Fix circular dependency on tplfunc_frame * Remove predeclaration of tplfunc_frame * tpl_register_func accepts pointer to void instead * tpl_register_func sets maximum number of arguments * Frame is generated within tpl_register_func * Improve template function error handling and return/output management * Remove redundant extern statement * Include github.h and template_func_proto.h in core.h * Expose get_github_release_notes_tplfunc_entrypoint function to template engine * Add template_func_proto.c and template_func_proto.h * Replace free() with guard variant * Fix test_template::test_tpl_register_func * Fix tests * Fix tests * cmd should be at least PATH_MAX in size. * Magic number caused failure to install conda with a long installation path * Implement get_github_release_notes_auto function that bases release note data off test contexts * Disable overwriting releases by default * Add automatic release note generation function call to release_notes.md.in * Fix test_tpl_register_func() * Add enough space for tar command plus a path * Fix circular include * Github functions do not require access to core.h anyway * Add comments to union * Update README to mention template function availability * Add EnvCtl structure * Add runtime checks to avoid running all the way to the end only to be met with a configuration error. * Rename GITHUB to GH * Development docs pre-rough-draft
* Pass .ci_support/plat_arch_.yaml to conda-build (#8)Joseph Hunkeler2024-06-2410-112/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Pass .ci_support/plat_arch_.yaml to conda-build * Fixes a few outstanding leaks in delivery context * Move micromamba function out of stasis_indexer.c * Adjust code in the indexer to accommodate the move. The function now expects a MicromambaInfo structure as its first argument. * Add missing warning message * User is informed when pandoc is not available for HTML page generation * Initialize workdir_template string to zero * Add micromamba program to runtime PATH * Expose storage.tools_dir to template engine * Remove dead code * Fix wording in comment * Fix conda-forge builds * Pass their .ci_support configurations to conda-build in order to fully set up their build runtime environment * Add get_cpu_count() * Exposes STASIS_CPU_COUNT and CPU_COUNT to the runtime environment * Implements conda reactivation template string * {{ workaround.conda_reactivate }} * This is useful to call after installing any conda packages within a test.script * Fix conda runtime inside of test.script * This ensures conda and mamba are fully initialized. * Previous behavior only placed the commands on the PATH but didn't provide any shell macros (i.e. undefined behavior) * Document CPU_COUNT and workaround.conda_reactivate
* Replace missed reference to OhmycalJoseph Hunkeler2024-06-211-7/+7
|
* Rebrand OhMyCal (OMC) as STASIS (#7)Joseph Hunkeler2024-06-2157-833/+831
|
* Unit tests (#6)Joseph Hunkeler2024-06-2026-236/+2560
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial commit of unit tests [WIP] * Address shortcomings and bugs flushed out by unit tests * Enable unit testing in CI workflow * Enable verbose ctests * Handle lack of __FILE_NAME__ define * Only podman support `run --arch` argument * Skip docker build testing if CI system cannot pull an image * Remove errant call to puts() * Identify local repo user * Fix missing xmllint * NULL terminate arrays * Fix filename assignment in is_url mode * Break loop when expected lines are exhausted * strcmp_array expects NULL terminated array. Iterating by size in this case passes NULL to strcmp leading to an invalid read * Remove debug printf statements * Disable a few warnings for tests * Workaround for ctest junit xml truncation * Update checkout@v4 * Prevent false-positive result * Return zero on error * Fix strlist_remove function * Value argument can be constant * Fix test to match changes to startswith and endswith * Add test_ini.c * Fix redaction code to accept NULL pointers in array * And let the caller specify the length of the array of strings to redact. * Redactions now occur directly on authentication strings rather than their command line arguments * Fix BUILD_TESTING_DEBUG * Adds missing -D argument
* Remove newlineJoseph Hunkeler2024-05-211-1/+0
|
* Disable ASCII art banner when OMC_DUMB_TERMINAL is definedJoseph Hunkeler2024-05-211-13/+18
|
* Consolidate OMC_COLOR_ definesJoseph Hunkeler2024-05-212-7/+40
|
* Documentation updateJoseph Hunkeler2024-05-204-180/+300
|
* DocumentationJoseph Hunkeler2024-05-171-0/+30
|
* junitxml: add missing "error" typeJoseph Hunkeler2024-05-172-18/+72
|
* DocumentationJoseph Hunkeler2024-05-162-2/+59
|
* cmake: Use expected package name for libxml2 (LibXml2)Joseph Hunkeler2024-05-162-2/+2
|
* First pass at test result creation, and optional markdown->html conversionJoseph Hunkeler2024-05-166-10/+445
|
* Print directory structure as an ascii tree in verbose modeJoseph Hunkeler2024-05-161-0/+6
|
* The jf x86_64 binary for mac is suffixed by 386.Joseph Hunkeler2024-05-091-2/+6
| | | | * Brilliant.
* Yet-another-workaroundJoseph Hunkeler2024-05-081-2/+6
| | | | * More temp directory noexec flag protection. Ugly.
* Generate symbolic links to "latest" deliveriesJoseph Hunkeler2024-05-081-38/+170
| | | | | | | | * Generate top-level README based on delivery metadata, not file names. * Copy contents of [temporary_omc_root_dir]/output/ instead of merging the entire directory tree * Free resources where possible * Default destination directory is now "output" (was NULL) * Generated top-level README is now an easy-to-read table (was a basic list)
* Change signatureJoseph Hunkeler2024-05-081-1/+1
| | | | * rootdirs is no longer a const
* Fix invalid size for tpl_pool_funcJoseph Hunkeler2024-05-081-1/+1
|
* Dump metadata files before uploading artifactsJoseph Hunkeler2024-05-031-5/+5
|
* Allow doxygen to ingest header fileJoseph Hunkeler2024-05-031-4/+4
|
* Avoid warning about system configuration when docker builds are already ↵Joseph Hunkeler2024-05-031-11/+17
| | | | disabled at run-time
* Prevent leak if delivery_init_tmpdir() is called more than onceJoseph Hunkeler2024-05-031-1/+4
|
* Install omc_indexerJoseph Hunkeler2024-05-031-1/+1
|
* Initial commit of omc_indexer.cJoseph Hunkeler2024-05-021-0/+456
|
* Add delivery_dump_metadata()Joseph Hunkeler2024-05-023-0/+52
|
* Clean upJoseph Hunkeler2024-05-021-2/+3
| | | | | * Add comment * Remove unused code
* Move listdir to utils.c and export prototypeJoseph Hunkeler2024-05-023-21/+24
|
* Convert ohmycal to a libraryJoseph Hunkeler2024-05-026-52/+69
|
* Use ini, not shell highlightingJoseph Hunkeler2024-04-151-2/+2
|
* First pass at usage instructions. More or less placeholder material.Joseph Hunkeler2024-04-151-15/+104
|
* Move artifactory authentication redaction code into its own function: ↵Joseph Hunkeler2024-04-153-13/+74
| | | | redact_sensitive()
* Issue a warning if omc.ini is not present at the installed location. (Or ↵Joseph Hunkeler2024-04-151-1/+3
| | | | wherever OMC_SYSCONFDIR points to)
* Use the installed version of the omc.ini configuration file when no path is ↵Joseph Hunkeler2024-04-151-1/+9
| | | | passed to the program via -c/--config
* Install the omc.ini configuration fileJoseph Hunkeler2024-04-151-0/+1
|
* Stop iteration on matchJoseph Hunkeler2024-04-151-0/+3
|