<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gh_mirror/jhunkeler/stasis.git/include, branch system-calls-fixup</title>
<subtitle>A pipeline delivery generator
</subtitle>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/'/>
<entry>
<title>Revert "Try a different approach using declare -f"</title>
<updated>2024-08-27T17:34:37+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-08-27T17:34:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=b5ede97977d81e429a0389bf821312ec05d3faca'/>
<id>b5ede97977d81e429a0389bf821312ec05d3faca</id>
<content type='text'>
This reverts commit ea8ec855c3c6870d29c55afe3787afb2c05026a1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit ea8ec855c3c6870d29c55afe3787afb2c05026a1.
</pre>
</div>
</content>
</entry>
<entry>
<title>Try a different approach using declare -f</title>
<updated>2024-08-27T17:07:49+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-08-27T17:07:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=ea8ec855c3c6870d29c55afe3787afb2c05026a1'/>
<id>ea8ec855c3c6870d29c55afe3787afb2c05026a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Pypi existence check (#30)</title>
<updated>2024-08-20T14:45:09+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-20T14:45:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=0eda05963f3c70c3969ddd2aa72926b871ef4b07'/>
<id>0eda05963f3c70c3969ddd2aa72926b871ef4b07</id>
<content type='text'>
* 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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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</pre>
</div>
</content>
</entry>
<entry>
<title>Allow the user to disable uploading build info objects to artifactory (#33)</title>
<updated>2024-08-17T21:33:39+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-17T21:33:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=a7568dc03c1c6851ff6c690e8e35ade9a3199c4a'/>
<id>a7568dc03c1c6851ff6c690e8e35ade9a3199c4a</id>
<content type='text'>
* 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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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</pre>
</div>
</content>
</entry>
<entry>
<title>Add template convience functions (and bug fixes) (#29)</title>
<updated>2024-08-15T19:27:45+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-15T19:27:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=c069d0da7645eb1e596a53178960149224af8d48'/>
<id>c069d0da7645eb1e596a53178960149224af8d48</id>
<content type='text'>
* 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 -&gt; junitxml_file
* get_basetemp_result_auto -&gt; basetemp_dir
* Thank you, @zacharyburnett</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 -&gt; junitxml_file
* get_basetemp_result_auto -&gt; basetemp_dir
* Thank you, @zacharyburnett</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused copytree() function (#27)</title>
<updated>2024-08-13T21:57:24+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-13T21:57:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=683b3f78663efcff7a406d8287b78d73f18cc1f1'/>
<id>683b3f78663efcff7a406d8287b78d73f18cc1f1</id>
<content type='text'>
* Functionality was replaced by rsync long ago</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Functionality was replaced by rsync long ago</pre>
</div>
</content>
</entry>
<entry>
<title>Move mkdirs() into utils module (#26)</title>
<updated>2024-08-13T21:42:35+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-13T21:42:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=d943633d4d925d7340708371be8abb09adf579fe'/>
<id>d943633d4d925d7340708371be8abb09adf579fe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>More unit tests (and fixing bugs) (#23)</title>
<updated>2024-08-12T19:11:17+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-12T19:11:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=95672b2e7a6cc0c07306893d5bb0b80ee3570f7a'/>
<id>95672b2e7a6cc0c07306893d5bb0b80ee3570f7a</id>
<content type='text'>
* 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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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</pre>
</div>
</content>
</entry>
<entry>
<title>Return of the INI refactor (#20)</title>
<updated>2024-08-08T16:45:05+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-08T16:45:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=c9579598c5a1b49f7fe8e353623175bf8f3cc236'/>
<id>c9579598c5a1b49f7fe8e353623175bf8f3cc236</id>
<content type='text'>
* 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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor ini getter and setter usage (#19)</title>
<updated>2024-08-07T17:52:10+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-07T17:52:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=1d5e5f26014ceefd824382acec732f326d8d6ce2'/>
<id>1d5e5f26014ceefd824382acec732f326d8d6ce2</id>
<content type='text'>
* Add handler for space-delimited lists

* This needs attention, however. The INI writer has no way to know a list with spaces is a list; this happens in the value conversion functions.
* Add type_hint member to INIData structure. At some point support with be added for all INIVAL_TYPE_* defines. Right now it's only used with arrays.
* Zero out line buffer in ini_open after each iteration
* Do not strip raw INI data. Let the conversion functions handle it
* Add spaces to key value pairs in rendered INI output.

* Add ini_getvar_TYPE() functions

* These replace the functionality of static conv_TYPE() functions in delivery.c
* Add support for missing types: U/CHAR, U/SHORT, STRLIST

* ini_getval: expand template variables immediately before processing the output

* Strip leading space to avoid issues with string comparisons against the result

* ini_getval: Return copies, not the original.

* This forces one to use ini_setval to replace/append values to the data array(s). It's safer this way.

* fix_tox_conf(): Use ini_getval and ini_setval instead of modifying the original pointers directly

* Tests: Free resources

* Replace ini_getval(), ini_getval_required() and conv_*() usage

* Now using ini_getval_TYPE() functions and ini_setval()
* Remove unused helper functions and variables

* download() returns long, not int

* actions: update apt cache</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add handler for space-delimited lists

* This needs attention, however. The INI writer has no way to know a list with spaces is a list; this happens in the value conversion functions.
* Add type_hint member to INIData structure. At some point support with be added for all INIVAL_TYPE_* defines. Right now it's only used with arrays.
* Zero out line buffer in ini_open after each iteration
* Do not strip raw INI data. Let the conversion functions handle it
* Add spaces to key value pairs in rendered INI output.

* Add ini_getvar_TYPE() functions

* These replace the functionality of static conv_TYPE() functions in delivery.c
* Add support for missing types: U/CHAR, U/SHORT, STRLIST

* ini_getval: expand template variables immediately before processing the output

* Strip leading space to avoid issues with string comparisons against the result

* ini_getval: Return copies, not the original.

* This forces one to use ini_setval to replace/append values to the data array(s). It's safer this way.

* fix_tox_conf(): Use ini_getval and ini_setval instead of modifying the original pointers directly

* Tests: Free resources

* Replace ini_getval(), ini_getval_required() and conv_*() usage

* Now using ini_getval_TYPE() functions and ini_setval()
* Remove unused helper functions and variables

* download() returns long, not int

* actions: update apt cache</pre>
</div>
</content>
</entry>
</feed>
