<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gh_mirror/jhunkeler/stasis.git/src/conda.c, branch next</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>Refactor directory structure</title>
<updated>2024-10-14T13:43:31+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-10-14T13:32:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=5a9688e9e78a25a42bddfc4388fb4ce3311ded74'/>
<id>5a9688e9e78a25a42bddfc4388fb4ce3311ded74</id>
<content type='text'>
* Move core library sources into src/lib/core
* Move command-line programs into src/cli
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Move core library sources into src/lib/core
* Move command-line programs into src/cli
</pre>
</div>
</content>
</entry>
<entry>
<title>pip_index_provides does not need a separate version</title>
<updated>2024-10-07T16:53:49+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-10-07T16:53:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=2348de4365967a7cf18400213a5a84e4da7f0491'/>
<id>2348de4365967a7cf18400213a5a84e4da7f0491</id>
<content type='text'>
* To be more aligned with conda_provides, the version spec has been consolidated into one argument
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* To be more aligned with conda_provides, the version spec has been consolidated into one argument
</pre>
</div>
</content>
</entry>
<entry>
<title>Add conda_get_active_environment() function</title>
<updated>2024-10-04T12:48:00+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-10-04T12:48:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=485de019d37dd712ce62ea2193d461f701a70df1'/>
<id>485de019d37dd712ce62ea2193d461f701a70df1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Export all variables when sourcing conda's profile scripts</title>
<updated>2024-09-20T12:29:56+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@gmail.com</email>
</author>
<published>2024-09-20T12:29:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=fa7dc2defb4acd3a808bf8bf787518d2d2d522db'/>
<id>fa7dc2defb4acd3a808bf8bf787518d2d2d522db</id>
<content type='text'>
* This results in a fully activated environment; shell functions and all
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* This results in a fully activated environment; shell functions and all
</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>Implement TODO item (#32)</title>
<updated>2024-08-17T21:32:20+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-08-17T21:32:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=04ce859e53ef28bc917d4d3a12161e1cfbfa2859'/>
<id>04ce859e53ef28bc917d4d3a12161e1cfbfa2859</id>
<content type='text'>
* 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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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</pre>
</div>
</content>
</entry>
<entry>
<title>Unit tests (#12)</title>
<updated>2024-07-15T14:07:25+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-07-15T14:07:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=07dc44efdc5c2fbc2b34c969e623d3b0bc0df15a'/>
<id>07dc44efdc5c2fbc2b34c969e623d3b0bc0df15a</id>
<content type='text'>
* Change return value of conda_setup_headless() from void to int

* Replace exit() with return;

* Return early if unpacking the micromamba binary fails

* Exit program when pointer to INIFILE is NULL.

* Validation function cannot otherwise proceed

* The way the logic is set up I've decided to duplicate the installation code 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().

* Exposes STASIS_DOWNLOAD_TIMEOUT environment variable

* Sets the connection timeout for libcurl to 30, instead of 300.

* Export ini_section_create() function

* Add download() tests

* Add conda_*() tests

* Add boilerplate source file for test framework

* Fixes segfault reported by @GeorgeJCleary (#10)

* The key is now an array index. When key is -1, the env variable is not defined.

* Free resources only when continue on error is disabled (#11)

* Fix segfault due to premature shutdown/cleanup

* If conda_setup_headless cannot succeed, die

* Set STASIS_SYSCONFDIR for tests</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Change return value of conda_setup_headless() from void to int

* Replace exit() with return;

* Return early if unpacking the micromamba binary fails

* Exit program when pointer to INIFILE is NULL.

* Validation function cannot otherwise proceed

* The way the logic is set up I've decided to duplicate the installation code 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().

* Exposes STASIS_DOWNLOAD_TIMEOUT environment variable

* Sets the connection timeout for libcurl to 30, instead of 300.

* Export ini_section_create() function

* Add download() tests

* Add conda_*() tests

* Add boilerplate source file for test framework

* Fixes segfault reported by @GeorgeJCleary (#10)

* The key is now an array index. When key is -1, the env variable is not defined.

* Free resources only when continue on error is disabled (#11)

* Fix segfault due to premature shutdown/cleanup

* If conda_setup_headless cannot succeed, die

* Set STASIS_SYSCONFDIR for tests</pre>
</div>
</content>
</entry>
<entry>
<title>Add github.c and github.h (#9)</title>
<updated>2024-07-06T13:49:51+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-07-06T13:49:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=8ce824ac4b2f526331093a7150e643700efd4d20'/>
<id>8ce824ac4b2f526331093a7150e643700efd4d20</id>
<content type='text'>
* 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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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</pre>
</div>
</content>
</entry>
<entry>
<title>Pass .ci_support/plat_arch_.yaml to conda-build (#8)</title>
<updated>2024-06-24T15:23:26+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-06-24T15:23:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=abe87056faa6ed02aff3bbf77c1fd78b713a0864'/>
<id>abe87056faa6ed02aff3bbf77c1fd78b713a0864</id>
<content type='text'>
* 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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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</pre>
</div>
</content>
</entry>
<entry>
<title>Rebrand OhMyCal (OMC) as STASIS (#7)</title>
<updated>2024-06-21T16:49:45+00:00</updated>
<author>
<name>Joseph Hunkeler</name>
<email>jhunkeler@users.noreply.github.com</email>
</author>
<published>2024-06-21T16:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.einval.net/gh_mirror/jhunkeler/stasis.git/commit/?id=77a0276d9f37bcf828c77f9bcc59ff945116274e'/>
<id>77a0276d9f37bcf828c77f9bcc59ff945116274e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
