Loading lcov.info +601 −589 Original line number Diff line number Diff line Loading @@ -111,170 +111,167 @@ SF:/root/dev/command/pipe-cli/src/commands/run/mod.rs FNF:0 DA:21,0 DA:22,0 DA:28,0 DA:29,0 DA:30,0 DA:31,0 DA:32,0 DA:33,0 DA:34,0 DA:35,0 DA:36,0 DA:37,0 DA:38,0 DA:41,0 DA:40,0 DA:43,0 DA:44,0 DA:45,0 DA:46,0 DA:47,0 DA:48,0 DA:49,0 DA:51,0 DA:52,0 DA:53,0 DA:54,0 DA:55,0 DA:56,0 DA:58,0 DA:59,0 DA:61,0 DA:63,0 DA:64,0 DA:65,0 DA:67,0 DA:68,0 DA:70,0 DA:71,0 DA:72,0 DA:75,0 DA:76,0 DA:77,0 DA:78,0 DA:79,0 DA:81,0 DA:83,0 DA:84,0 DA:89,0 DA:91,0 DA:82,0 DA:85,0 DA:88,0 DA:90,0 DA:92,0 DA:96,0 DA:94,0 DA:97,0 DA:98,0 DA:100,0 DA:103,0 DA:99,0 DA:102,0 DA:104,0 DA:105,0 DA:106,0 DA:107,0 DA:108,0 DA:109,0 DA:111,0 DA:112,0 DA:113,0 DA:114,0 DA:115,0 DA:117,0 DA:119,0 DA:120,0 DA:124,0 DA:125,0 DA:127,0 DA:130,0 DA:135,0 DA:126,0 DA:129,0 DA:131,0 DA:132,0 DA:134,0 DA:137,0 DA:142,0 DA:138,0 DA:140,0 DA:141,0 DA:143,0 DA:144,0 DA:145,0 DA:146,0 DA:147,0 DA:148,0 DA:150,0 DA:152,0 DA:154,0 DA:157,0 DA:158,0 DA:159,0 DA:160,0 DA:161,0 DA:162,0 DA:164,0 DA:163,0 DA:165,0 DA:166,0 DA:168,0 DA:169,0 DA:171,0 DA:173,0 DA:175,0 DA:177,0 DA:179,0 DA:180,0 DA:184,0 DA:185,0 DA:186,0 DA:174,0 DA:178,0 DA:188,0 DA:189,0 DA:190,0 DA:191,0 DA:192,0 DA:194,0 DA:197,0 DA:193,0 DA:198,0 DA:200,0 DA:201,0 DA:199,0 DA:203,0 DA:204,0 DA:205,0 DA:206,0 DA:207,0 DA:208,0 DA:210,0 DA:209,0 DA:211,0 DA:213,0 DA:220,0 DA:221,0 DA:222,0 DA:223,0 DA:224,0 DA:225,0 DA:226,0 DA:227,0 DA:228,0 DA:229,0 DA:231,0 DA:233,0 DA:234,0 DA:238,0 DA:237,0 DA:240,0 DA:242,0 DA:243,0 DA:244,0 DA:245,0 DA:246,0 DA:247,0 DA:248,0 DA:249,0 DA:250,0 DA:251,0 DA:253,0 DA:258,0 DA:259,0 DA:256,0 DA:260,0 DA:261,0 DA:262,0 DA:263,0 DA:264,0 DA:266,0 DA:267,0 DA:268,0 DA:269,0 DA:270,0 DA:271,0 DA:272,0 DA:273,0 DA:276,0 DA:277,0 DA:275,0 DA:278,0 DA:282,0 DA:281,0 DA:284,0 DA:286,0 DA:288,0 DA:289,0 DA:290,0 DA:291,0 DA:292,0 DA:293,0 DA:294,0 DA:296,0 DA:299,0 DA:301,0 DA:302,0 DA:303,0 DA:305,0 DA:307,0 DA:306,0 DA:308,0 DA:309,0 DA:310,0 DA:311,0 DA:312,0 DA:313,0 DA:314,0 DA:315,0 DA:317,0 DA:318,0 DA:321,0 DA:325,0 DA:326,0 DA:319,0 DA:322,0 DA:323,0 DA:327,0 DA:328,0 DA:330,0 DA:331,0 DA:332,0 DA:333,0 DA:334,0 DA:335,0 DA:336,0 DA:337,0 DA:338,0 DA:339,0 DA:340,0 DA:342,0 DA:345,0 DA:341,0 DA:346,0 DA:348,0 DA:351,0 DA:353,0 DA:356,0 DA:358,0 LF:165 DA:349,0 DA:350,0 DA:354,0 DA:355,0 DA:359,0 DA:361,0 LF:162 LH:0 end_of_record TN: Loading Loading @@ -396,75 +393,79 @@ LH:0 end_of_record TN: SF:/root/dev/command/pipe-lib/src/lib.rs FN:453,Command::test FN:476,Config::read FN:500,Config::read_json FN:521,Config::read_yaml FN:538,Config::set_environment_variables FN:552,<impl PartialEq for Details>::eq FN:559,EnvironmentValue::from_string FN:562,EnvironmentValue::from_value FN:570,EnvironmentValue::prepend_prefix FN:574,EnvironmentValue::trim_prefix FN:578,EnvironmentValue::get_from_config FN:585,EnvironmentValue::get_from_serde FN:599,EnvironmentValue::get_all FN:609,EnvironmentValue::print_all FN:614,EnvironmentValue::set_variable FN:624,EnvironmentValue::set_variables FN:631,Extension::from_string FN:640,Label::dry_run FN:644,Label::invalid FN:648,Label::fail FN:652,Label::found FN:656,Label::not_found FN:660,Label::output FN:664,Label::pass FN:668,Label::read FN:672,Label::rejected FN:676,Label::run FN:680,Label::using FN:686,ModuleUri<'_>::from FN:696,ModuleUri<'_>::hash FN:720,ModuleUri<'_>::get_whitelist FN:723,ModuleUri<'_>::is_allowed FN:726,ModuleUri<'_>::test FN:727,ModuleUri<'_>::test::check FN:744,ModuleUri<'_>::working_directory FN:756,SemanticVersion::from_string FN:765,Script::ensure_relative FN:784,Script::expand_arguments FN:819,Script::expand_arguments_from FN:854,Script::from_module FN:912,Script::from_path FN:927,Script::from_template FN:947,Script::get_command FN:957,Script::get_arguments FN:997,Script::maybe_create_virtual_environment FN:1042,Script::maybe_git_clone FN:1049,Script::python_default FN:1063,Script::run FN:1130,Script::with_container FN:1137,Script::with_current_dir FN:1142,Script::with_envs FN:1184,Script::with_virtual_environment FN:1190,ScriptTemplate::from_path FN:1202,ScriptTemplate::resolve_python_virtual_environment FN:1230,StringTemplate::new FN:1239,StringTemplate::expand FN:1246,StringTemplate::get_variable FN:1276,StringTemplate::is_handlebars FN:1311,StringTemplate::remove_spaces FN:1321,add_dot_slash FN:1329,add_forward_slash FN:1336,download_binary FN:1337,download_binary::download FNF:63 FN:468,Command::test FN:491,Config::read FN:515,Config::read_json FN:536,Config::read_yaml FN:553,Config::set_environment_variables FN:569,Config::verify_requirements FN:587,Config::verify_resources FN:592,<impl PartialEq for Details>::eq FN:599,EnvironmentValue::from_string FN:602,EnvironmentValue::from_value FN:610,EnvironmentValue::prepend_prefix FN:614,EnvironmentValue::trim_prefix FN:618,EnvironmentValue::get_from_config FN:625,EnvironmentValue::get_from_serde FN:639,EnvironmentValue::get_all FN:649,EnvironmentValue::print_all FN:654,EnvironmentValue::set_variable FN:664,EnvironmentValue::set_variables FN:671,Extension::from_string FN:680,Label::dry_run FN:684,Label::invalid FN:688,Label::fail FN:692,Label::found FN:696,Label::not_found FN:700,Label::output FN:704,Label::pass FN:708,Label::read FN:712,Label::rejected FN:716,Label::run FN:720,Label::using FN:726,ModuleUri<'_>::from FN:736,ModuleUri<'_>::hash FN:760,ModuleUri<'_>::get_whitelist FN:763,ModuleUri<'_>::is_allowed FN:766,ModuleUri<'_>::test FN:767,ModuleUri<'_>::test::check FN:784,ModuleUri<'_>::working_directory FN:796,SemanticVersion::from_string FN:805,Script::ensure_relative FN:824,Script::expand_arguments FN:859,Script::expand_arguments_from FN:894,Script::from_module FN:952,Script::from_path FN:967,Script::from_template FN:987,Script::get_command FN:997,Script::get_arguments FN:1037,Script::maybe_create_virtual_environment FN:1082,Script::maybe_git_clone FN:1089,Script::python_default FN:1103,Script::run FN:1170,Script::with_container FN:1177,Script::with_current_dir FN:1182,Script::with_envs FN:1224,Script::with_virtual_environment FN:1230,ScriptTemplate::from_path FN:1242,ScriptTemplate::resolve_python_virtual_environment FN:1270,StringTemplate::new FN:1279,StringTemplate::expand FN:1286,StringTemplate::get_variable FN:1316,StringTemplate::is_handlebars FN:1351,StringTemplate::remove_spaces FN:1361,add_dot_slash FN:1369,add_forward_slash FN:1376,download_binary FN:1377,download_binary::download FNF:65 FNDA:1,Command::test FNDA:1,Config::read FNDA:1,Config::read_json FNDA:1,Config::read_yaml FNDA:0,Config::set_environment_variables FNDA:0,Config::verify_requirements FNDA:0,Config::verify_resources FNDA:1,<impl PartialEq for Details>::eq FNDA:0,EnvironmentValue::from_string FNDA:0,EnvironmentValue::from_value Loading @@ -482,13 +483,13 @@ FNDA:0,Label::invalid FNDA:0,Label::fail FNDA:0,Label::found FNDA:0,Label::not_found FNDA:2,Label::output FNDA:1,Label::output FNDA:0,Label::pass FNDA:0,Label::read FNDA:0,Label::rejected FNDA:0,Label::run FNDA:0,Label::using FNDA:1,ModuleUri<'_>::from FNDA:2,ModuleUri<'_>::from FNDA:1,ModuleUri<'_>::hash FNDA:0,ModuleUri<'_>::get_whitelist FNDA:0,ModuleUri<'_>::is_allowed Loading @@ -514,505 +515,516 @@ FNDA:0,Script::with_envs FNDA:1,Script::with_virtual_environment FNDA:1,ScriptTemplate::from_path FNDA:0,ScriptTemplate::resolve_python_virtual_environment FNDA:1,StringTemplate::new FNDA:2,StringTemplate::new FNDA:1,StringTemplate::expand FNDA:1,StringTemplate::get_variable FNDA:1,StringTemplate::is_handlebars FNDA:2,StringTemplate::is_handlebars FNDA:1,StringTemplate::remove_spaces FNDA:1,add_dot_slash FNDA:1,add_forward_slash FNDA:0,download_binary FNDA:0,download_binary::download DA:453,1 DA:454,2 DA:455,1 DA:456,3 DA:457,2 DA:459,3 DA:460,1 DA:463,0 DA:464,0 DA:469,3 DA:468,1 DA:469,2 DA:470,1 DA:476,1 DA:477,2 DA:478,2 DA:479,1 DA:480,0 DA:482,2 DA:483,1 DA:484,0 DA:488,2 DA:489,1 DA:491,0 DA:492,0 DA:500,1 DA:501,2 DA:502,2 DA:504,0 DA:505,0 DA:508,2 DA:509,1 DA:510,2 DA:511,0 DA:513,3 DA:514,1 DA:521,1 DA:522,2 DA:523,1 DA:525,0 DA:471,4 DA:472,4 DA:474,6 DA:475,2 DA:478,0 DA:479,0 DA:484,3 DA:485,1 DA:491,1 DA:492,2 DA:493,2 DA:494,1 DA:495,0 DA:497,2 DA:498,1 DA:499,0 DA:503,2 DA:504,1 DA:506,0 DA:507,0 DA:515,1 DA:516,2 DA:517,2 DA:519,0 DA:520,0 DA:523,3 DA:524,2 DA:525,4 DA:526,0 DA:528,6 DA:529,2 DA:530,1 DA:531,2 DA:532,0 DA:534,3 DA:535,1 DA:538,0 DA:539,0 DA:536,1 DA:537,2 DA:538,1 DA:540,0 DA:541,0 DA:542,0 DA:543,0 DA:548,0 DA:552,1 DA:553,1 DA:559,0 DA:560,0 DA:562,0 DA:544,2 DA:545,1 DA:546,2 DA:547,0 DA:549,3 DA:550,1 DA:553,0 DA:554,0 DA:555,0 DA:556,0 DA:557,0 DA:558,0 DA:563,0 DA:564,0 DA:565,0 DA:566,0 DA:567,0 DA:569,0 DA:570,0 DA:571,0 DA:574,1 DA:575,1 DA:576,2 DA:578,0 DA:572,0 DA:573,0 DA:574,0 DA:575,0 DA:579,0 DA:580,0 DA:581,0 DA:582,0 DA:583,0 DA:585,0 DA:586,0 DA:587,0 DA:588,0 DA:589,0 DA:590,0 DA:591,0 DA:592,0 DA:593,0 DA:595,0 DA:597,0 DA:599,1 DA:600,1 DA:601,2 DA:602,2 DA:603,2 DA:604,2 DA:605,1 DA:609,0 DA:592,1 DA:593,1 DA:599,0 DA:600,0 DA:602,0 DA:603,0 DA:604,0 DA:605,0 DA:606,0 DA:607,0 DA:610,0 DA:611,0 DA:614,0 DA:615,0 DA:616,0 DA:617,0 DA:614,1 DA:615,1 DA:616,2 DA:618,0 DA:619,0 DA:620,0 DA:624,0 DA:621,0 DA:622,0 DA:623,0 DA:625,0 DA:626,0 DA:627,0 DA:631,1 DA:632,2 DA:633,2 DA:634,3 DA:628,0 DA:629,0 DA:630,0 DA:631,0 DA:632,0 DA:633,0 DA:635,0 DA:640,0 DA:641,0 DA:642,0 DA:644,0 DA:645,0 DA:646,0 DA:648,0 DA:637,0 DA:639,1 DA:640,1 DA:641,2 DA:642,2 DA:643,2 DA:644,2 DA:645,1 DA:649,0 DA:650,0 DA:652,0 DA:653,0 DA:651,0 DA:654,0 DA:655,0 DA:656,0 DA:657,0 DA:658,0 DA:660,2 DA:661,1 DA:662,2 DA:659,0 DA:660,0 DA:664,0 DA:665,0 DA:666,0 DA:668,0 DA:669,0 DA:670,0 DA:672,0 DA:673,0 DA:674,0 DA:676,0 DA:677,0 DA:678,0 DA:667,0 DA:671,1 DA:672,2 DA:673,2 DA:674,3 DA:675,0 DA:680,0 DA:681,0 DA:682,0 DA:686,1 DA:687,1 DA:688,2 DA:689,1 DA:690,2 DA:691,0 DA:693,1 DA:696,1 DA:697,1 DA:698,1 DA:699,1 DA:684,0 DA:685,0 DA:686,0 DA:688,0 DA:689,0 DA:690,0 DA:692,0 DA:693,0 DA:694,0 DA:696,0 DA:697,0 DA:698,0 DA:700,1 DA:701,0 DA:703,2 DA:707,2 DA:708,2 DA:710,2 DA:711,2 DA:713,2 DA:701,3 DA:702,3 DA:704,0 DA:705,0 DA:706,0 DA:708,0 DA:709,0 DA:710,0 DA:712,0 DA:713,0 DA:714,0 DA:716,0 DA:717,0 DA:718,0 DA:720,0 DA:721,0 DA:723,0 DA:724,0 DA:726,0 DA:727,0 DA:728,0 DA:730,0 DA:722,0 DA:726,2 DA:727,2 DA:728,5 DA:729,2 DA:730,2 DA:731,0 DA:732,0 DA:733,0 DA:734,0 DA:735,0 DA:736,0 DA:738,0 DA:740,0 DA:744,0 DA:745,0 DA:746,0 DA:747,0 DA:748,0 DA:750,0 DA:751,0 DA:756,1 DA:757,1 DA:758,3 DA:759,3 DA:760,3 DA:765,1 DA:766,1 DA:767,2 DA:768,1 DA:784,1 DA:785,2 DA:788,2 DA:789,1 DA:790,2 DA:791,1 DA:792,1 DA:794,2 DA:798,1 DA:799,1 DA:819,1 DA:820,2 DA:823,2 DA:733,1 DA:736,1 DA:737,1 DA:738,1 DA:739,2 DA:740,2 DA:741,0 DA:743,4 DA:747,4 DA:748,4 DA:750,4 DA:751,2 DA:753,4 DA:756,0 DA:760,0 DA:761,0 DA:763,0 DA:764,0 DA:766,0 DA:767,0 DA:768,0 DA:770,0 DA:771,0 DA:772,0 DA:773,0 DA:774,0 DA:775,0 DA:776,0 DA:778,0 DA:780,0 DA:784,0 DA:785,0 DA:786,0 DA:787,0 DA:788,0 DA:790,0 DA:791,0 DA:796,1 DA:797,1 DA:798,3 DA:799,3 DA:800,3 DA:805,1 DA:806,1 DA:807,2 DA:808,1 DA:824,1 DA:825,2 DA:826,2 DA:829,2 DA:828,2 DA:829,1 DA:830,2 DA:831,1 DA:833,2 DA:837,1 DA:832,1 DA:834,2 DA:838,1 DA:854,0 DA:856,0 DA:857,0 DA:858,0 DA:861,0 DA:862,0 DA:863,0 DA:864,0 DA:865,0 DA:867,0 DA:868,0 DA:869,0 DA:872,0 DA:873,0 DA:874,0 DA:875,0 DA:878,0 DA:879,0 DA:880,0 DA:883,0 DA:885,0 DA:886,0 DA:889,0 DA:895,0 DA:839,1 DA:859,1 DA:860,2 DA:863,2 DA:864,1 DA:865,2 DA:866,2 DA:869,2 DA:871,1 DA:873,2 DA:877,1 DA:878,1 DA:894,0 DA:896,0 DA:912,1 DA:913,1 DA:914,1 DA:927,1 DA:928,1 DA:929,3 DA:933,2 DA:935,2 DA:937,2 DA:941,1 DA:942,1 DA:943,1 DA:945,2 DA:947,1 DA:948,1 DA:949,1 DA:950,2 DA:952,2 DA:953,2 DA:954,2 DA:957,1 DA:958,2 DA:959,1 DA:960,1 DA:961,1 DA:962,1 DA:963,0 DA:965,0 DA:966,0 DA:969,2 DA:970,1 DA:972,3 DA:974,3 DA:975,1 DA:976,1 DA:897,0 DA:898,0 DA:901,0 DA:902,0 DA:903,0 DA:904,0 DA:905,0 DA:907,0 DA:908,0 DA:909,0 DA:912,0 DA:913,0 DA:914,0 DA:915,0 DA:918,0 DA:919,0 DA:920,0 DA:923,0 DA:925,0 DA:926,0 DA:929,0 DA:935,0 DA:936,0 DA:952,1 DA:953,1 DA:954,1 DA:967,1 DA:968,1 DA:969,3 DA:973,2 DA:975,2 DA:977,2 DA:978,2 DA:980,1 DA:982,2 DA:983,2 DA:985,0 DA:986,0 DA:981,1 DA:982,1 DA:983,1 DA:985,2 DA:987,1 DA:988,1 DA:989,1 DA:990,1 DA:992,3 DA:997,0 DA:1002,0 DA:992,1 DA:993,2 DA:994,1 DA:997,1 DA:998,1 DA:999,1 DA:1000,1 DA:1001,1 DA:1002,1 DA:1003,0 DA:1004,0 DA:1005,0 DA:1006,0 DA:1007,0 DA:1008,0 DA:1009,0 DA:1010,0 DA:1011,0 DA:1013,0 DA:1014,0 DA:1015,0 DA:1016,0 DA:1017,0 DA:1018,0 DA:1019,0 DA:1021,0 DA:1022,0 DA:1009,2 DA:1010,1 DA:1012,1 DA:1014,1 DA:1015,1 DA:1016,1 DA:1017,2 DA:1018,2 DA:1020,1 DA:1022,2 DA:1023,2 DA:1025,0 DA:1029,0 DA:1030,0 DA:1033,0 DA:1038,0 DA:1042,1 DA:1043,2 DA:1044,2 DA:1045,2 DA:1046,3 DA:1047,1 DA:1026,0 DA:1029,1 DA:1030,1 DA:1032,1 DA:1037,0 DA:1042,0 DA:1043,0 DA:1044,0 DA:1046,0 DA:1047,0 DA:1048,0 DA:1049,0 DA:1050,0 DA:1051,0 DA:1053,0 DA:1054,0 DA:1055,0 DA:1056,0 DA:1057,0 DA:1058,0 DA:1059,0 DA:1063,1 DA:1064,1 DA:1065,1 DA:1066,4 DA:1067,4 DA:1068,6 DA:1069,2 DA:1070,14 DA:1071,4 DA:1072,2 DA:1073,2 DA:1074,2 DA:1075,2 DA:1080,4 DA:1081,2 DA:1083,0 DA:1084,0 DA:1087,2 DA:1088,2 DA:1089,2 DA:1090,2 DA:1093,2 DA:1094,1 DA:1096,0 DA:1097,0 DA:1100,1 DA:1101,1 DA:1102,2 DA:1103,0 DA:1104,0 DA:1061,0 DA:1062,0 DA:1065,0 DA:1069,0 DA:1070,0 DA:1073,0 DA:1078,0 DA:1082,1 DA:1083,2 DA:1084,2 DA:1085,2 DA:1086,3 DA:1087,1 DA:1089,0 DA:1090,0 DA:1091,0 DA:1099,0 DA:1103,1 DA:1104,1 DA:1105,1 DA:1106,2 DA:1107,2 DA:1108,1 DA:1109,3 DA:1110,1 DA:1111,3 DA:1112,3 DA:1108,3 DA:1109,1 DA:1110,7 DA:1111,2 DA:1112,1 DA:1113,1 DA:1115,0 DA:1116,0 DA:1117,0 DA:1120,0 DA:1121,0 DA:1122,0 DA:1126,0 DA:1127,0 DA:1130,1 DA:1131,1 DA:1132,1 DA:1137,1 DA:1138,2 DA:1139,1 DA:1142,0 DA:1143,0 DA:1144,0 DA:1184,1 DA:1185,1 DA:1186,1 DA:1190,1 DA:1191,2 DA:1192,1 DA:1194,0 DA:1195,0 DA:1198,2 DA:1200,1 DA:1202,0 DA:1203,0 DA:1204,0 DA:1205,0 DA:1206,0 DA:1207,0 DA:1208,0 DA:1209,0 DA:1211,0 DA:1212,0 DA:1213,0 DA:1218,0 DA:1219,0 DA:1220,0 DA:1114,1 DA:1115,1 DA:1120,2 DA:1121,1 DA:1123,0 DA:1124,0 DA:1127,1 DA:1128,1 DA:1129,2 DA:1130,2 DA:1133,2 DA:1134,1 DA:1136,0 DA:1137,0 DA:1140,1 DA:1141,1 DA:1142,2 DA:1143,3 DA:1144,2 DA:1147,2 DA:1148,1 DA:1149,3 DA:1150,1 DA:1151,3 DA:1152,3 DA:1153,1 DA:1155,0 DA:1156,0 DA:1157,0 DA:1160,0 DA:1161,0 DA:1162,0 DA:1166,0 DA:1167,0 DA:1170,1 DA:1171,1 DA:1172,1 DA:1177,1 DA:1178,2 DA:1179,1 DA:1182,0 DA:1183,0 DA:1184,0 DA:1224,1 DA:1225,1 DA:1226,1 DA:1230,1 DA:1231,2 DA:1232,1 DA:1239,1 DA:1240,4 DA:1241,3 DA:1246,1 DA:1247,2 DA:1248,2 DA:1249,1 DA:1250,2 DA:1234,0 DA:1235,0 DA:1238,2 DA:1240,1 DA:1242,0 DA:1243,0 DA:1244,0 DA:1245,0 DA:1246,0 DA:1247,0 DA:1248,0 DA:1249,0 DA:1251,0 DA:1252,0 DA:1276,1 DA:1277,2 DA:1278,2 DA:1253,0 DA:1258,0 DA:1259,0 DA:1260,0 DA:1270,2 DA:1272,2 DA:1279,1 DA:1280,0 DA:1282,0 DA:1311,1 DA:1312,2 DA:1313,1 DA:1314,0 DA:1316,3 DA:1317,1 DA:1321,1 DA:1322,2 DA:1323,2 DA:1325,4 DA:1329,1 DA:1330,2 DA:1331,0 DA:1333,2 DA:1336,0 DA:1337,0 DA:1338,0 DA:1339,0 DA:1340,0 DA:1341,0 DA:1342,0 DA:1343,0 DA:1344,0 DA:1345,0 DA:1346,0 DA:1347,0 DA:1349,0 DA:1351,0 DA:1280,6 DA:1281,5 DA:1286,1 DA:1287,2 DA:1288,2 DA:1289,1 DA:1290,2 DA:1292,0 DA:1316,2 DA:1317,4 DA:1318,4 DA:1319,2 DA:1320,0 DA:1322,0 DA:1351,1 DA:1352,2 DA:1353,1 DA:1354,0 DA:1355,0 DA:1356,0 DA:1357,0 DA:1356,3 DA:1357,1 DA:1361,1 DA:1362,2 DA:1363,2 DA:1365,4 DA:1369,1 DA:1370,2 DA:1371,2 DA:1372,2 DA:1371,0 DA:1373,2 DA:1374,5 DA:1377,1 DA:1379,2 DA:1381,4 DA:1376,0 DA:1377,0 DA:1378,0 DA:1379,0 DA:1380,0 DA:1381,0 DA:1382,0 DA:1383,0 DA:1384,0 DA:1411,1 DA:1385,0 DA:1386,0 DA:1387,0 DA:1389,0 DA:1391,0 DA:1394,0 DA:1395,0 DA:1396,0 DA:1397,0 DA:1409,1 DA:1410,2 DA:1411,2 DA:1412,2 DA:1413,2 DA:1414,1 DA:1415,6 DA:1427,1 DA:1429,0 DA:1431,1 DA:1446,1 DA:1447,1 DA:1450,1 DA:1451,3 DA:1463,1 DA:1464,1 DA:1467,0 DA:1468,0 DA:1414,5 DA:1417,1 DA:1419,2 DA:1421,4 DA:1424,0 DA:1451,1 DA:1452,2 DA:1453,2 DA:1454,1 DA:1455,6 DA:1467,1 DA:1469,0 DA:1471,0 DA:1475,0 DA:1476,0 DA:1477,0 DA:1479,0 DA:1493,1 DA:1494,1 DA:1495,3 DA:1496,1 DA:1497,5 DA:1498,3 DA:1500,1 DA:1501,3 DA:1502,1 DA:1505,1 DA:1507,1 DA:1508,7 LF:490 LH:250 DA:1471,1 DA:1486,1 DA:1487,1 DA:1490,1 DA:1491,3 DA:1503,1 DA:1504,1 DA:1507,0 DA:1508,0 DA:1509,0 DA:1511,0 DA:1515,0 DA:1516,0 DA:1517,0 DA:1519,0 DA:1533,2 DA:1534,2 DA:1535,4 DA:1536,4 DA:1537,12 DA:1538,8 DA:1540,1 DA:1541,3 DA:1542,1 DA:1545,1 DA:1547,1 DA:1548,4 LF:501 LH:252 end_of_record pipe-cli/src/commands/run/mod.rs +274 −271 File changed.Preview size limit exceeded, changes collapsed. Show changes pipe-lib/src/lib.rs +42 −2 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ #![allow(clippy::wrong_self_convention)] use bon::builder; use clap::ValueEnum; use clap_verbosity_flag::Level; use clap_verbosity_flag::{Level, Verbosity}; use color_eyre::eyre::{Report, Result}; use derive_more::{Display, FromStr}; use fancy_regex::Regex; Loading Loading @@ -73,7 +73,7 @@ enum Extension { pub enum InputAttribute { Path(String), List(Vec<String>), ShellScript(String), ShellScript(ScriptTemplate), } #[derive(Clone, Debug, Serialize, Deserialize, Valuable)] #[serde(untagged)] Loading Loading @@ -288,6 +288,21 @@ pub struct Config { #[serde(alias = "artifacts")] pub output: Option<String>, } #[derive(Clone, Debug)] #[builder(start_fn(name = init))] pub struct ConfigOptions { #[builder(default = PathBuf::from("."))] pub root: PathBuf, #[builder(default = false)] pub dry_run: bool, #[builder(default = false)] pub offline: bool, #[builder(default = false)] pub skip_verify_checksum: bool, #[builder(default = false)] pub skip_verify_requirements: bool, pub verbose: Verbosity, } /// Struct for using and sharing containerized environments /// /// Examples: Loading Loading @@ -547,6 +562,31 @@ impl Config { } Ok(()) } /// Verify software requirements are met on host system (ex. Python, conda, etc...) /// /// Uses process similar to Linux `which` to determine if a given command is available on the host system. /// pub fn verify_requirements(self, options: &ConfigOptions) -> Config { if !options.skip_verify_requirements { self.requirements.iter().for_each(|name| { let command = Command::init().name(name.clone()).build(); if !command.test() { error!(name, "=> {} Requirement not met", Label::not_found()); std::process::exit(exitcode::UNAVAILABLE); } }); } else { warn!("Skipping requirements verification"); } self } /// Verify hardware resources (ex. GPU) are available for the workflow on host system /// /// Under construction /// pub fn verify_resources(self, _options: &ConfigOptions) -> Config { self } } impl PartialEq for Details { fn eq(&self, other: &Self) -> bool { Loading Loading
lcov.info +601 −589 Original line number Diff line number Diff line Loading @@ -111,170 +111,167 @@ SF:/root/dev/command/pipe-cli/src/commands/run/mod.rs FNF:0 DA:21,0 DA:22,0 DA:28,0 DA:29,0 DA:30,0 DA:31,0 DA:32,0 DA:33,0 DA:34,0 DA:35,0 DA:36,0 DA:37,0 DA:38,0 DA:41,0 DA:40,0 DA:43,0 DA:44,0 DA:45,0 DA:46,0 DA:47,0 DA:48,0 DA:49,0 DA:51,0 DA:52,0 DA:53,0 DA:54,0 DA:55,0 DA:56,0 DA:58,0 DA:59,0 DA:61,0 DA:63,0 DA:64,0 DA:65,0 DA:67,0 DA:68,0 DA:70,0 DA:71,0 DA:72,0 DA:75,0 DA:76,0 DA:77,0 DA:78,0 DA:79,0 DA:81,0 DA:83,0 DA:84,0 DA:89,0 DA:91,0 DA:82,0 DA:85,0 DA:88,0 DA:90,0 DA:92,0 DA:96,0 DA:94,0 DA:97,0 DA:98,0 DA:100,0 DA:103,0 DA:99,0 DA:102,0 DA:104,0 DA:105,0 DA:106,0 DA:107,0 DA:108,0 DA:109,0 DA:111,0 DA:112,0 DA:113,0 DA:114,0 DA:115,0 DA:117,0 DA:119,0 DA:120,0 DA:124,0 DA:125,0 DA:127,0 DA:130,0 DA:135,0 DA:126,0 DA:129,0 DA:131,0 DA:132,0 DA:134,0 DA:137,0 DA:142,0 DA:138,0 DA:140,0 DA:141,0 DA:143,0 DA:144,0 DA:145,0 DA:146,0 DA:147,0 DA:148,0 DA:150,0 DA:152,0 DA:154,0 DA:157,0 DA:158,0 DA:159,0 DA:160,0 DA:161,0 DA:162,0 DA:164,0 DA:163,0 DA:165,0 DA:166,0 DA:168,0 DA:169,0 DA:171,0 DA:173,0 DA:175,0 DA:177,0 DA:179,0 DA:180,0 DA:184,0 DA:185,0 DA:186,0 DA:174,0 DA:178,0 DA:188,0 DA:189,0 DA:190,0 DA:191,0 DA:192,0 DA:194,0 DA:197,0 DA:193,0 DA:198,0 DA:200,0 DA:201,0 DA:199,0 DA:203,0 DA:204,0 DA:205,0 DA:206,0 DA:207,0 DA:208,0 DA:210,0 DA:209,0 DA:211,0 DA:213,0 DA:220,0 DA:221,0 DA:222,0 DA:223,0 DA:224,0 DA:225,0 DA:226,0 DA:227,0 DA:228,0 DA:229,0 DA:231,0 DA:233,0 DA:234,0 DA:238,0 DA:237,0 DA:240,0 DA:242,0 DA:243,0 DA:244,0 DA:245,0 DA:246,0 DA:247,0 DA:248,0 DA:249,0 DA:250,0 DA:251,0 DA:253,0 DA:258,0 DA:259,0 DA:256,0 DA:260,0 DA:261,0 DA:262,0 DA:263,0 DA:264,0 DA:266,0 DA:267,0 DA:268,0 DA:269,0 DA:270,0 DA:271,0 DA:272,0 DA:273,0 DA:276,0 DA:277,0 DA:275,0 DA:278,0 DA:282,0 DA:281,0 DA:284,0 DA:286,0 DA:288,0 DA:289,0 DA:290,0 DA:291,0 DA:292,0 DA:293,0 DA:294,0 DA:296,0 DA:299,0 DA:301,0 DA:302,0 DA:303,0 DA:305,0 DA:307,0 DA:306,0 DA:308,0 DA:309,0 DA:310,0 DA:311,0 DA:312,0 DA:313,0 DA:314,0 DA:315,0 DA:317,0 DA:318,0 DA:321,0 DA:325,0 DA:326,0 DA:319,0 DA:322,0 DA:323,0 DA:327,0 DA:328,0 DA:330,0 DA:331,0 DA:332,0 DA:333,0 DA:334,0 DA:335,0 DA:336,0 DA:337,0 DA:338,0 DA:339,0 DA:340,0 DA:342,0 DA:345,0 DA:341,0 DA:346,0 DA:348,0 DA:351,0 DA:353,0 DA:356,0 DA:358,0 LF:165 DA:349,0 DA:350,0 DA:354,0 DA:355,0 DA:359,0 DA:361,0 LF:162 LH:0 end_of_record TN: Loading Loading @@ -396,75 +393,79 @@ LH:0 end_of_record TN: SF:/root/dev/command/pipe-lib/src/lib.rs FN:453,Command::test FN:476,Config::read FN:500,Config::read_json FN:521,Config::read_yaml FN:538,Config::set_environment_variables FN:552,<impl PartialEq for Details>::eq FN:559,EnvironmentValue::from_string FN:562,EnvironmentValue::from_value FN:570,EnvironmentValue::prepend_prefix FN:574,EnvironmentValue::trim_prefix FN:578,EnvironmentValue::get_from_config FN:585,EnvironmentValue::get_from_serde FN:599,EnvironmentValue::get_all FN:609,EnvironmentValue::print_all FN:614,EnvironmentValue::set_variable FN:624,EnvironmentValue::set_variables FN:631,Extension::from_string FN:640,Label::dry_run FN:644,Label::invalid FN:648,Label::fail FN:652,Label::found FN:656,Label::not_found FN:660,Label::output FN:664,Label::pass FN:668,Label::read FN:672,Label::rejected FN:676,Label::run FN:680,Label::using FN:686,ModuleUri<'_>::from FN:696,ModuleUri<'_>::hash FN:720,ModuleUri<'_>::get_whitelist FN:723,ModuleUri<'_>::is_allowed FN:726,ModuleUri<'_>::test FN:727,ModuleUri<'_>::test::check FN:744,ModuleUri<'_>::working_directory FN:756,SemanticVersion::from_string FN:765,Script::ensure_relative FN:784,Script::expand_arguments FN:819,Script::expand_arguments_from FN:854,Script::from_module FN:912,Script::from_path FN:927,Script::from_template FN:947,Script::get_command FN:957,Script::get_arguments FN:997,Script::maybe_create_virtual_environment FN:1042,Script::maybe_git_clone FN:1049,Script::python_default FN:1063,Script::run FN:1130,Script::with_container FN:1137,Script::with_current_dir FN:1142,Script::with_envs FN:1184,Script::with_virtual_environment FN:1190,ScriptTemplate::from_path FN:1202,ScriptTemplate::resolve_python_virtual_environment FN:1230,StringTemplate::new FN:1239,StringTemplate::expand FN:1246,StringTemplate::get_variable FN:1276,StringTemplate::is_handlebars FN:1311,StringTemplate::remove_spaces FN:1321,add_dot_slash FN:1329,add_forward_slash FN:1336,download_binary FN:1337,download_binary::download FNF:63 FN:468,Command::test FN:491,Config::read FN:515,Config::read_json FN:536,Config::read_yaml FN:553,Config::set_environment_variables FN:569,Config::verify_requirements FN:587,Config::verify_resources FN:592,<impl PartialEq for Details>::eq FN:599,EnvironmentValue::from_string FN:602,EnvironmentValue::from_value FN:610,EnvironmentValue::prepend_prefix FN:614,EnvironmentValue::trim_prefix FN:618,EnvironmentValue::get_from_config FN:625,EnvironmentValue::get_from_serde FN:639,EnvironmentValue::get_all FN:649,EnvironmentValue::print_all FN:654,EnvironmentValue::set_variable FN:664,EnvironmentValue::set_variables FN:671,Extension::from_string FN:680,Label::dry_run FN:684,Label::invalid FN:688,Label::fail FN:692,Label::found FN:696,Label::not_found FN:700,Label::output FN:704,Label::pass FN:708,Label::read FN:712,Label::rejected FN:716,Label::run FN:720,Label::using FN:726,ModuleUri<'_>::from FN:736,ModuleUri<'_>::hash FN:760,ModuleUri<'_>::get_whitelist FN:763,ModuleUri<'_>::is_allowed FN:766,ModuleUri<'_>::test FN:767,ModuleUri<'_>::test::check FN:784,ModuleUri<'_>::working_directory FN:796,SemanticVersion::from_string FN:805,Script::ensure_relative FN:824,Script::expand_arguments FN:859,Script::expand_arguments_from FN:894,Script::from_module FN:952,Script::from_path FN:967,Script::from_template FN:987,Script::get_command FN:997,Script::get_arguments FN:1037,Script::maybe_create_virtual_environment FN:1082,Script::maybe_git_clone FN:1089,Script::python_default FN:1103,Script::run FN:1170,Script::with_container FN:1177,Script::with_current_dir FN:1182,Script::with_envs FN:1224,Script::with_virtual_environment FN:1230,ScriptTemplate::from_path FN:1242,ScriptTemplate::resolve_python_virtual_environment FN:1270,StringTemplate::new FN:1279,StringTemplate::expand FN:1286,StringTemplate::get_variable FN:1316,StringTemplate::is_handlebars FN:1351,StringTemplate::remove_spaces FN:1361,add_dot_slash FN:1369,add_forward_slash FN:1376,download_binary FN:1377,download_binary::download FNF:65 FNDA:1,Command::test FNDA:1,Config::read FNDA:1,Config::read_json FNDA:1,Config::read_yaml FNDA:0,Config::set_environment_variables FNDA:0,Config::verify_requirements FNDA:0,Config::verify_resources FNDA:1,<impl PartialEq for Details>::eq FNDA:0,EnvironmentValue::from_string FNDA:0,EnvironmentValue::from_value Loading @@ -482,13 +483,13 @@ FNDA:0,Label::invalid FNDA:0,Label::fail FNDA:0,Label::found FNDA:0,Label::not_found FNDA:2,Label::output FNDA:1,Label::output FNDA:0,Label::pass FNDA:0,Label::read FNDA:0,Label::rejected FNDA:0,Label::run FNDA:0,Label::using FNDA:1,ModuleUri<'_>::from FNDA:2,ModuleUri<'_>::from FNDA:1,ModuleUri<'_>::hash FNDA:0,ModuleUri<'_>::get_whitelist FNDA:0,ModuleUri<'_>::is_allowed Loading @@ -514,505 +515,516 @@ FNDA:0,Script::with_envs FNDA:1,Script::with_virtual_environment FNDA:1,ScriptTemplate::from_path FNDA:0,ScriptTemplate::resolve_python_virtual_environment FNDA:1,StringTemplate::new FNDA:2,StringTemplate::new FNDA:1,StringTemplate::expand FNDA:1,StringTemplate::get_variable FNDA:1,StringTemplate::is_handlebars FNDA:2,StringTemplate::is_handlebars FNDA:1,StringTemplate::remove_spaces FNDA:1,add_dot_slash FNDA:1,add_forward_slash FNDA:0,download_binary FNDA:0,download_binary::download DA:453,1 DA:454,2 DA:455,1 DA:456,3 DA:457,2 DA:459,3 DA:460,1 DA:463,0 DA:464,0 DA:469,3 DA:468,1 DA:469,2 DA:470,1 DA:476,1 DA:477,2 DA:478,2 DA:479,1 DA:480,0 DA:482,2 DA:483,1 DA:484,0 DA:488,2 DA:489,1 DA:491,0 DA:492,0 DA:500,1 DA:501,2 DA:502,2 DA:504,0 DA:505,0 DA:508,2 DA:509,1 DA:510,2 DA:511,0 DA:513,3 DA:514,1 DA:521,1 DA:522,2 DA:523,1 DA:525,0 DA:471,4 DA:472,4 DA:474,6 DA:475,2 DA:478,0 DA:479,0 DA:484,3 DA:485,1 DA:491,1 DA:492,2 DA:493,2 DA:494,1 DA:495,0 DA:497,2 DA:498,1 DA:499,0 DA:503,2 DA:504,1 DA:506,0 DA:507,0 DA:515,1 DA:516,2 DA:517,2 DA:519,0 DA:520,0 DA:523,3 DA:524,2 DA:525,4 DA:526,0 DA:528,6 DA:529,2 DA:530,1 DA:531,2 DA:532,0 DA:534,3 DA:535,1 DA:538,0 DA:539,0 DA:536,1 DA:537,2 DA:538,1 DA:540,0 DA:541,0 DA:542,0 DA:543,0 DA:548,0 DA:552,1 DA:553,1 DA:559,0 DA:560,0 DA:562,0 DA:544,2 DA:545,1 DA:546,2 DA:547,0 DA:549,3 DA:550,1 DA:553,0 DA:554,0 DA:555,0 DA:556,0 DA:557,0 DA:558,0 DA:563,0 DA:564,0 DA:565,0 DA:566,0 DA:567,0 DA:569,0 DA:570,0 DA:571,0 DA:574,1 DA:575,1 DA:576,2 DA:578,0 DA:572,0 DA:573,0 DA:574,0 DA:575,0 DA:579,0 DA:580,0 DA:581,0 DA:582,0 DA:583,0 DA:585,0 DA:586,0 DA:587,0 DA:588,0 DA:589,0 DA:590,0 DA:591,0 DA:592,0 DA:593,0 DA:595,0 DA:597,0 DA:599,1 DA:600,1 DA:601,2 DA:602,2 DA:603,2 DA:604,2 DA:605,1 DA:609,0 DA:592,1 DA:593,1 DA:599,0 DA:600,0 DA:602,0 DA:603,0 DA:604,0 DA:605,0 DA:606,0 DA:607,0 DA:610,0 DA:611,0 DA:614,0 DA:615,0 DA:616,0 DA:617,0 DA:614,1 DA:615,1 DA:616,2 DA:618,0 DA:619,0 DA:620,0 DA:624,0 DA:621,0 DA:622,0 DA:623,0 DA:625,0 DA:626,0 DA:627,0 DA:631,1 DA:632,2 DA:633,2 DA:634,3 DA:628,0 DA:629,0 DA:630,0 DA:631,0 DA:632,0 DA:633,0 DA:635,0 DA:640,0 DA:641,0 DA:642,0 DA:644,0 DA:645,0 DA:646,0 DA:648,0 DA:637,0 DA:639,1 DA:640,1 DA:641,2 DA:642,2 DA:643,2 DA:644,2 DA:645,1 DA:649,0 DA:650,0 DA:652,0 DA:653,0 DA:651,0 DA:654,0 DA:655,0 DA:656,0 DA:657,0 DA:658,0 DA:660,2 DA:661,1 DA:662,2 DA:659,0 DA:660,0 DA:664,0 DA:665,0 DA:666,0 DA:668,0 DA:669,0 DA:670,0 DA:672,0 DA:673,0 DA:674,0 DA:676,0 DA:677,0 DA:678,0 DA:667,0 DA:671,1 DA:672,2 DA:673,2 DA:674,3 DA:675,0 DA:680,0 DA:681,0 DA:682,0 DA:686,1 DA:687,1 DA:688,2 DA:689,1 DA:690,2 DA:691,0 DA:693,1 DA:696,1 DA:697,1 DA:698,1 DA:699,1 DA:684,0 DA:685,0 DA:686,0 DA:688,0 DA:689,0 DA:690,0 DA:692,0 DA:693,0 DA:694,0 DA:696,0 DA:697,0 DA:698,0 DA:700,1 DA:701,0 DA:703,2 DA:707,2 DA:708,2 DA:710,2 DA:711,2 DA:713,2 DA:701,3 DA:702,3 DA:704,0 DA:705,0 DA:706,0 DA:708,0 DA:709,0 DA:710,0 DA:712,0 DA:713,0 DA:714,0 DA:716,0 DA:717,0 DA:718,0 DA:720,0 DA:721,0 DA:723,0 DA:724,0 DA:726,0 DA:727,0 DA:728,0 DA:730,0 DA:722,0 DA:726,2 DA:727,2 DA:728,5 DA:729,2 DA:730,2 DA:731,0 DA:732,0 DA:733,0 DA:734,0 DA:735,0 DA:736,0 DA:738,0 DA:740,0 DA:744,0 DA:745,0 DA:746,0 DA:747,0 DA:748,0 DA:750,0 DA:751,0 DA:756,1 DA:757,1 DA:758,3 DA:759,3 DA:760,3 DA:765,1 DA:766,1 DA:767,2 DA:768,1 DA:784,1 DA:785,2 DA:788,2 DA:789,1 DA:790,2 DA:791,1 DA:792,1 DA:794,2 DA:798,1 DA:799,1 DA:819,1 DA:820,2 DA:823,2 DA:733,1 DA:736,1 DA:737,1 DA:738,1 DA:739,2 DA:740,2 DA:741,0 DA:743,4 DA:747,4 DA:748,4 DA:750,4 DA:751,2 DA:753,4 DA:756,0 DA:760,0 DA:761,0 DA:763,0 DA:764,0 DA:766,0 DA:767,0 DA:768,0 DA:770,0 DA:771,0 DA:772,0 DA:773,0 DA:774,0 DA:775,0 DA:776,0 DA:778,0 DA:780,0 DA:784,0 DA:785,0 DA:786,0 DA:787,0 DA:788,0 DA:790,0 DA:791,0 DA:796,1 DA:797,1 DA:798,3 DA:799,3 DA:800,3 DA:805,1 DA:806,1 DA:807,2 DA:808,1 DA:824,1 DA:825,2 DA:826,2 DA:829,2 DA:828,2 DA:829,1 DA:830,2 DA:831,1 DA:833,2 DA:837,1 DA:832,1 DA:834,2 DA:838,1 DA:854,0 DA:856,0 DA:857,0 DA:858,0 DA:861,0 DA:862,0 DA:863,0 DA:864,0 DA:865,0 DA:867,0 DA:868,0 DA:869,0 DA:872,0 DA:873,0 DA:874,0 DA:875,0 DA:878,0 DA:879,0 DA:880,0 DA:883,0 DA:885,0 DA:886,0 DA:889,0 DA:895,0 DA:839,1 DA:859,1 DA:860,2 DA:863,2 DA:864,1 DA:865,2 DA:866,2 DA:869,2 DA:871,1 DA:873,2 DA:877,1 DA:878,1 DA:894,0 DA:896,0 DA:912,1 DA:913,1 DA:914,1 DA:927,1 DA:928,1 DA:929,3 DA:933,2 DA:935,2 DA:937,2 DA:941,1 DA:942,1 DA:943,1 DA:945,2 DA:947,1 DA:948,1 DA:949,1 DA:950,2 DA:952,2 DA:953,2 DA:954,2 DA:957,1 DA:958,2 DA:959,1 DA:960,1 DA:961,1 DA:962,1 DA:963,0 DA:965,0 DA:966,0 DA:969,2 DA:970,1 DA:972,3 DA:974,3 DA:975,1 DA:976,1 DA:897,0 DA:898,0 DA:901,0 DA:902,0 DA:903,0 DA:904,0 DA:905,0 DA:907,0 DA:908,0 DA:909,0 DA:912,0 DA:913,0 DA:914,0 DA:915,0 DA:918,0 DA:919,0 DA:920,0 DA:923,0 DA:925,0 DA:926,0 DA:929,0 DA:935,0 DA:936,0 DA:952,1 DA:953,1 DA:954,1 DA:967,1 DA:968,1 DA:969,3 DA:973,2 DA:975,2 DA:977,2 DA:978,2 DA:980,1 DA:982,2 DA:983,2 DA:985,0 DA:986,0 DA:981,1 DA:982,1 DA:983,1 DA:985,2 DA:987,1 DA:988,1 DA:989,1 DA:990,1 DA:992,3 DA:997,0 DA:1002,0 DA:992,1 DA:993,2 DA:994,1 DA:997,1 DA:998,1 DA:999,1 DA:1000,1 DA:1001,1 DA:1002,1 DA:1003,0 DA:1004,0 DA:1005,0 DA:1006,0 DA:1007,0 DA:1008,0 DA:1009,0 DA:1010,0 DA:1011,0 DA:1013,0 DA:1014,0 DA:1015,0 DA:1016,0 DA:1017,0 DA:1018,0 DA:1019,0 DA:1021,0 DA:1022,0 DA:1009,2 DA:1010,1 DA:1012,1 DA:1014,1 DA:1015,1 DA:1016,1 DA:1017,2 DA:1018,2 DA:1020,1 DA:1022,2 DA:1023,2 DA:1025,0 DA:1029,0 DA:1030,0 DA:1033,0 DA:1038,0 DA:1042,1 DA:1043,2 DA:1044,2 DA:1045,2 DA:1046,3 DA:1047,1 DA:1026,0 DA:1029,1 DA:1030,1 DA:1032,1 DA:1037,0 DA:1042,0 DA:1043,0 DA:1044,0 DA:1046,0 DA:1047,0 DA:1048,0 DA:1049,0 DA:1050,0 DA:1051,0 DA:1053,0 DA:1054,0 DA:1055,0 DA:1056,0 DA:1057,0 DA:1058,0 DA:1059,0 DA:1063,1 DA:1064,1 DA:1065,1 DA:1066,4 DA:1067,4 DA:1068,6 DA:1069,2 DA:1070,14 DA:1071,4 DA:1072,2 DA:1073,2 DA:1074,2 DA:1075,2 DA:1080,4 DA:1081,2 DA:1083,0 DA:1084,0 DA:1087,2 DA:1088,2 DA:1089,2 DA:1090,2 DA:1093,2 DA:1094,1 DA:1096,0 DA:1097,0 DA:1100,1 DA:1101,1 DA:1102,2 DA:1103,0 DA:1104,0 DA:1061,0 DA:1062,0 DA:1065,0 DA:1069,0 DA:1070,0 DA:1073,0 DA:1078,0 DA:1082,1 DA:1083,2 DA:1084,2 DA:1085,2 DA:1086,3 DA:1087,1 DA:1089,0 DA:1090,0 DA:1091,0 DA:1099,0 DA:1103,1 DA:1104,1 DA:1105,1 DA:1106,2 DA:1107,2 DA:1108,1 DA:1109,3 DA:1110,1 DA:1111,3 DA:1112,3 DA:1108,3 DA:1109,1 DA:1110,7 DA:1111,2 DA:1112,1 DA:1113,1 DA:1115,0 DA:1116,0 DA:1117,0 DA:1120,0 DA:1121,0 DA:1122,0 DA:1126,0 DA:1127,0 DA:1130,1 DA:1131,1 DA:1132,1 DA:1137,1 DA:1138,2 DA:1139,1 DA:1142,0 DA:1143,0 DA:1144,0 DA:1184,1 DA:1185,1 DA:1186,1 DA:1190,1 DA:1191,2 DA:1192,1 DA:1194,0 DA:1195,0 DA:1198,2 DA:1200,1 DA:1202,0 DA:1203,0 DA:1204,0 DA:1205,0 DA:1206,0 DA:1207,0 DA:1208,0 DA:1209,0 DA:1211,0 DA:1212,0 DA:1213,0 DA:1218,0 DA:1219,0 DA:1220,0 DA:1114,1 DA:1115,1 DA:1120,2 DA:1121,1 DA:1123,0 DA:1124,0 DA:1127,1 DA:1128,1 DA:1129,2 DA:1130,2 DA:1133,2 DA:1134,1 DA:1136,0 DA:1137,0 DA:1140,1 DA:1141,1 DA:1142,2 DA:1143,3 DA:1144,2 DA:1147,2 DA:1148,1 DA:1149,3 DA:1150,1 DA:1151,3 DA:1152,3 DA:1153,1 DA:1155,0 DA:1156,0 DA:1157,0 DA:1160,0 DA:1161,0 DA:1162,0 DA:1166,0 DA:1167,0 DA:1170,1 DA:1171,1 DA:1172,1 DA:1177,1 DA:1178,2 DA:1179,1 DA:1182,0 DA:1183,0 DA:1184,0 DA:1224,1 DA:1225,1 DA:1226,1 DA:1230,1 DA:1231,2 DA:1232,1 DA:1239,1 DA:1240,4 DA:1241,3 DA:1246,1 DA:1247,2 DA:1248,2 DA:1249,1 DA:1250,2 DA:1234,0 DA:1235,0 DA:1238,2 DA:1240,1 DA:1242,0 DA:1243,0 DA:1244,0 DA:1245,0 DA:1246,0 DA:1247,0 DA:1248,0 DA:1249,0 DA:1251,0 DA:1252,0 DA:1276,1 DA:1277,2 DA:1278,2 DA:1253,0 DA:1258,0 DA:1259,0 DA:1260,0 DA:1270,2 DA:1272,2 DA:1279,1 DA:1280,0 DA:1282,0 DA:1311,1 DA:1312,2 DA:1313,1 DA:1314,0 DA:1316,3 DA:1317,1 DA:1321,1 DA:1322,2 DA:1323,2 DA:1325,4 DA:1329,1 DA:1330,2 DA:1331,0 DA:1333,2 DA:1336,0 DA:1337,0 DA:1338,0 DA:1339,0 DA:1340,0 DA:1341,0 DA:1342,0 DA:1343,0 DA:1344,0 DA:1345,0 DA:1346,0 DA:1347,0 DA:1349,0 DA:1351,0 DA:1280,6 DA:1281,5 DA:1286,1 DA:1287,2 DA:1288,2 DA:1289,1 DA:1290,2 DA:1292,0 DA:1316,2 DA:1317,4 DA:1318,4 DA:1319,2 DA:1320,0 DA:1322,0 DA:1351,1 DA:1352,2 DA:1353,1 DA:1354,0 DA:1355,0 DA:1356,0 DA:1357,0 DA:1356,3 DA:1357,1 DA:1361,1 DA:1362,2 DA:1363,2 DA:1365,4 DA:1369,1 DA:1370,2 DA:1371,2 DA:1372,2 DA:1371,0 DA:1373,2 DA:1374,5 DA:1377,1 DA:1379,2 DA:1381,4 DA:1376,0 DA:1377,0 DA:1378,0 DA:1379,0 DA:1380,0 DA:1381,0 DA:1382,0 DA:1383,0 DA:1384,0 DA:1411,1 DA:1385,0 DA:1386,0 DA:1387,0 DA:1389,0 DA:1391,0 DA:1394,0 DA:1395,0 DA:1396,0 DA:1397,0 DA:1409,1 DA:1410,2 DA:1411,2 DA:1412,2 DA:1413,2 DA:1414,1 DA:1415,6 DA:1427,1 DA:1429,0 DA:1431,1 DA:1446,1 DA:1447,1 DA:1450,1 DA:1451,3 DA:1463,1 DA:1464,1 DA:1467,0 DA:1468,0 DA:1414,5 DA:1417,1 DA:1419,2 DA:1421,4 DA:1424,0 DA:1451,1 DA:1452,2 DA:1453,2 DA:1454,1 DA:1455,6 DA:1467,1 DA:1469,0 DA:1471,0 DA:1475,0 DA:1476,0 DA:1477,0 DA:1479,0 DA:1493,1 DA:1494,1 DA:1495,3 DA:1496,1 DA:1497,5 DA:1498,3 DA:1500,1 DA:1501,3 DA:1502,1 DA:1505,1 DA:1507,1 DA:1508,7 LF:490 LH:250 DA:1471,1 DA:1486,1 DA:1487,1 DA:1490,1 DA:1491,3 DA:1503,1 DA:1504,1 DA:1507,0 DA:1508,0 DA:1509,0 DA:1511,0 DA:1515,0 DA:1516,0 DA:1517,0 DA:1519,0 DA:1533,2 DA:1534,2 DA:1535,4 DA:1536,4 DA:1537,12 DA:1538,8 DA:1540,1 DA:1541,3 DA:1542,1 DA:1545,1 DA:1547,1 DA:1548,4 LF:501 LH:252 end_of_record
pipe-cli/src/commands/run/mod.rs +274 −271 File changed.Preview size limit exceeded, changes collapsed. Show changes
pipe-lib/src/lib.rs +42 −2 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ #![allow(clippy::wrong_self_convention)] use bon::builder; use clap::ValueEnum; use clap_verbosity_flag::Level; use clap_verbosity_flag::{Level, Verbosity}; use color_eyre::eyre::{Report, Result}; use derive_more::{Display, FromStr}; use fancy_regex::Regex; Loading Loading @@ -73,7 +73,7 @@ enum Extension { pub enum InputAttribute { Path(String), List(Vec<String>), ShellScript(String), ShellScript(ScriptTemplate), } #[derive(Clone, Debug, Serialize, Deserialize, Valuable)] #[serde(untagged)] Loading Loading @@ -288,6 +288,21 @@ pub struct Config { #[serde(alias = "artifacts")] pub output: Option<String>, } #[derive(Clone, Debug)] #[builder(start_fn(name = init))] pub struct ConfigOptions { #[builder(default = PathBuf::from("."))] pub root: PathBuf, #[builder(default = false)] pub dry_run: bool, #[builder(default = false)] pub offline: bool, #[builder(default = false)] pub skip_verify_checksum: bool, #[builder(default = false)] pub skip_verify_requirements: bool, pub verbose: Verbosity, } /// Struct for using and sharing containerized environments /// /// Examples: Loading Loading @@ -547,6 +562,31 @@ impl Config { } Ok(()) } /// Verify software requirements are met on host system (ex. Python, conda, etc...) /// /// Uses process similar to Linux `which` to determine if a given command is available on the host system. /// pub fn verify_requirements(self, options: &ConfigOptions) -> Config { if !options.skip_verify_requirements { self.requirements.iter().for_each(|name| { let command = Command::init().name(name.clone()).build(); if !command.test() { error!(name, "=> {} Requirement not met", Label::not_found()); std::process::exit(exitcode::UNAVAILABLE); } }); } else { warn!("Skipping requirements verification"); } self } /// Verify hardware resources (ex. GPU) are available for the workflow on host system /// /// Under construction /// pub fn verify_resources(self, _options: &ConfigOptions) -> Config { self } } impl PartialEq for Details { fn eq(&self, other: &Self) -> bool { Loading