aboutsummaryrefslogtreecommitdiff
path: root/include/core.h
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@users.noreply.github.com>2024-07-06 09:49:51 -0400
committerGitHub <noreply@github.com>2024-07-06 09:49:51 -0400
commit8ce824ac4b2f526331093a7150e643700efd4d20 (patch)
tree99e27dee24e82d78941ded4c510e1bac57c3f015 /include/core.h
parentabe87056faa6ed02aff3bbf77c1fd78b713a0864 (diff)
downloadstasis-8ce824ac4b2f526331093a7150e643700efd4d20.tar.gz
Add github.c and github.h (#9)
* 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
Diffstat (limited to 'include/core.h')
-rw-r--r--include/core.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/core.h b/include/core.h
index ac9ae2f..d065096 100644
--- a/include/core.h
+++ b/include/core.h
@@ -38,6 +38,8 @@
#include "relocation.h"
#include "wheel.h"
#include "junitxml.h"
+#include "github.h"
+#include "template_func_proto.h"
#define guard_runtime_free(X) do { if (X) { runtime_free(X); X = NULL; } } while (0)
#define guard_strlist_free(X) do { if ((*X)) { strlist_free(X); (*X) = NULL; } } while (0)
@@ -57,6 +59,11 @@
} \
} while (0)
+struct EnvCtl {
+ unsigned flags;
+ const char *name[10];
+};
+
struct STASIS_GLOBAL {
bool verbose; //!< Enable verbose output
bool always_update_base_environment; //!< Update base environment immediately after activation
@@ -65,6 +72,7 @@ struct STASIS_GLOBAL {
bool enable_docker; //!< Enable docker image builds
bool enable_artifactory; //!< Enable artifactory uploads
bool enable_testing; //!< Enable package testing
+ bool enable_overwrite; //!< Enable release file clobbering
struct StrList *conda_packages; //!< Conda packages to install after initial activation
struct StrList *pip_packages; //!< Pip packages to install after initial activation
char *tmpdir; //!< Path to temporary storage directory
@@ -85,8 +93,13 @@ struct STASIS_GLOBAL {
char *repo;
char *url;
} jfrog;
+ struct EnvCtl envctl[];
};
extern struct STASIS_GLOBAL globals;
+
+#define STASIS_ENVCTL_PASSTHRU 0 << 1
+#define STASIS_ENVCTL_REQUIRED 1 << 1
+#define STASIS_ENVCTL_REDACT 2 << 1
extern const char *VERSION;
extern const char *AUTHOR;
extern const char *BANNER;