aboutsummaryrefslogtreecommitdiff
path: root/src/lib/delivery
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@users.noreply.github.com>2025-07-03 10:05:23 -0400
committerGitHub <noreply@github.com>2025-07-03 10:05:23 -0400
commite90140a7628d24edef090e548179c64170d3338b (patch)
tree7f72fd8715154771b112f54ebd60e8e91aa1d0fc /src/lib/delivery
parented37f69aabe45d7d46517c495afd47ed0df4fb71 (diff)
parent97677a0f53d1881e4e89d660fcc21ff3afac121e (diff)
downloadstasis-e90140a7628d24edef090e548179c64170d3338b.tar.gz
Merge pull request #114 from jhunkeler/fail-on-baked-in-vcs-requirements
Ban Python packages with VCS requirement URLs
Diffstat (limited to 'src/lib/delivery')
-rw-r--r--src/lib/delivery/delivery_build.c12
-rw-r--r--src/lib/delivery/delivery_test.c12
2 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/delivery/delivery_build.c b/src/lib/delivery/delivery_build.c
index 2d891d2..c5093d4 100644
--- a/src/lib/delivery/delivery_build.c
+++ b/src/lib/delivery/delivery_build.c
@@ -173,6 +173,18 @@ struct StrList *delivery_build_wheels(struct Delivery *ctx) {
memset(outdir, 0, sizeof(outdir));
memset(cmd, 0, sizeof(outdir));
+ const int dep_status = check_python_package_dependencies(".");
+ if (dep_status) {
+ fprintf(stderr, "\nPlease replace all occurrences above with standard package specs:\n"
+ "\n"
+ " package==x.y.z\n"
+ " package>=x.y.z\n"
+ " package<=x.y.z\n"
+ " ...\n"
+ "\n");
+ COE_CHECK_ABORT(dep_status, "Unreproducible delivery");
+ }
+
strcpy(dname, ctx->tests[i].name);
tolower_s(dname);
sprintf(outdir, "%s/%s", ctx->storage.wheel_artifact_dir, dname);
diff --git a/src/lib/delivery/delivery_test.c b/src/lib/delivery/delivery_test.c
index e80e0ec..6e0a226 100644
--- a/src/lib/delivery/delivery_test.c
+++ b/src/lib/delivery/delivery_test.c
@@ -97,6 +97,18 @@ void delivery_tests_run(struct Delivery *ctx) {
if (pushd(destdir)) {
COE_CHECK_ABORT(1, "Unable to enter repository directory\n");
} else {
+ int dep_status = check_python_package_dependencies(".");
+ if (dep_status) {
+ fprintf(stderr, "\nPlease replace all occurrences above with standard package specs:\n"
+ "\n"
+ " package==x.y.z\n"
+ " package>=x.y.z\n"
+ " package<=x.y.z\n"
+ " ...\n"
+ "\n");
+ COE_CHECK_ABORT(dep_status, "Unreproducible delivery");
+ }
+
char *cmd = calloc(strlen(test->script) + STASIS_BUFSIZ, sizeof(*cmd));
if (!cmd) {
SYSERROR("Unable to allocate test script buffer: %s", strerror(errno));