From 15eef8db2c06f536edee84fe524f5d8fcefd0a5f Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Tue, 30 Jul 2024 17:58:35 -0400 Subject: Version in package name (#15) * Compile test installation with debug symbols enabled * Fix typo in environment variable name * STASIS_GITHUB_TOKEN is supposed to be STASIS_GH_TOKEN * Add pattern matching mode selector to get_wheel_file() * Adds modes WHEEL_MATCH_EXACT and WHEEL_MATCH_ANY * test block version key is now optional * Now that *_packages lists define the package version through detection, because the end-result version cannot be guaranteed to be identical to the tag. * Find the just-compiled package matching the name and version in the package list. * If compiling master/main this can also match against post-commits (x.y.z.devN+hash) * Versions are extracted from the package name in the list, only if a matching test block exists. Otherwise the string is passed through to pip directly. * Changes indentation level of output * Do not replace @PIP_ARGUMENTS@ with an artifactory URL unless artifactory is enabled * Sequence change * Build requested packages before executing tests. A necessary evil if test blocks are no longer responsible for setting the version data * Show the delivery summary just before test execution, instead of at the start of the program * Terminate package name at version operator when a package is filtered for testing --- src/stasis_main.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src/stasis_main.c') diff --git a/src/stasis_main.c b/src/stasis_main.c index 686c044..b6ffc1d 100644 --- a/src/stasis_main.c +++ b/src/stasis_main.c @@ -407,14 +407,6 @@ int main(int argc, char *argv[]) { strcpy(env_name_testing, env_name); strcat(env_name_testing, "-test"); - msg(STASIS_MSG_L1, "Overview\n"); - delivery_meta_show(&ctx); - delivery_conda_show(&ctx); - delivery_tests_show(&ctx); - if (globals.verbose) { - //delivery_runtime_show(&ctx); - } - // Safety gate: Avoid clobbering a delivered release unless the user wants that behavior msg(STASIS_MSG_L1, "Checking release history\n"); if (delivery_exists(&ctx)) { @@ -509,21 +501,29 @@ int main(int argc, char *argv[]) { exit(1); } + msg(STASIS_MSG_L1, "Filter deliverable packages\n"); + delivery_defer_packages(&ctx, DEFER_CONDA); + delivery_defer_packages(&ctx, DEFER_PIP); + + msg(STASIS_MSG_L1, "Overview\n"); + delivery_meta_show(&ctx); + delivery_conda_show(&ctx); + if (globals.verbose) { + //delivery_runtime_show(&ctx); + } + // Execute configuration-defined tests if (globals.enable_testing) { + delivery_tests_show(&ctx); + msg(STASIS_MSG_L1, "Begin test execution\n"); delivery_tests_run(&ctx); - msg(STASIS_MSG_L1, "Rewriting test results\n"); + msg(STASIS_MSG_L2, "Rewriting test results\n"); delivery_fixup_test_results(&ctx); } else { msg(STASIS_MSG_L1 | STASIS_MSG_WARN, "Test execution is disabled\n"); } - msg(STASIS_MSG_L1, "Generating deferred package listing\n"); - // Test succeeded so move on to producing package artifacts - delivery_defer_packages(&ctx, DEFER_CONDA); - delivery_defer_packages(&ctx, DEFER_PIP); - if (ctx.conda.conda_packages_defer && strlist_count(ctx.conda.conda_packages_defer)) { msg(STASIS_MSG_L2, "Building Conda recipe(s)\n"); if (delivery_build_recipes(&ctx)) { -- cgit