Loading .gitlab-ci.yml +2 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,8 @@ publish-release: - if: $CI_COMMIT_TAG when: never - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH changes: - Cargo.toml release: tag_name: "v$PKG_VERSION" description: "PIPE CLI v$PKG_VERSION" Loading lcov.info +557 −542 Original line number Diff line number Diff line Loading @@ -264,74 +264,74 @@ FN:468,Command::test FN:491,Config::get_environment_variables FN:503,Config::get_inputs FN:540,Config::prepare_modules FN:737,Config::read FN:761,Config::read_json FN:782,Config::read_yaml FN:802,Config::run_workflow FN:874,Config::set_environment_variables FN:890,Config::verify_requirements FN:908,Config::verify_resources FN:917,<impl PartialEq for Details>::eq FN:924,EnvironmentValue::from_string FN:927,EnvironmentValue::from_value FN:935,EnvironmentValue::prepend_prefix FN:939,EnvironmentValue::trim_prefix FN:943,EnvironmentValue::get_from_serde FN:957,EnvironmentValue::get_all FN:967,EnvironmentValue::print_all FN:972,EnvironmentValue::set_variable FN:982,EnvironmentValue::set_variables FN:989,Extension::from_string FN:998,Label::dry_run FN:1002,Label::invalid FN:1005,Label::fmt_invalid FN:1009,Label::fail FN:1012,Label::fmt_fail FN:1016,Label::found FN:1020,Label::not_found FN:1023,Label::fmt_not_found FN:1027,Label::output FN:1030,Label::fmt_output FN:1034,Label::pass FN:1038,Label::read FN:1042,Label::rejected FN:1046,Label::run FN:1050,Label::using FN:1056,ModuleUri<'_>::from FN:1066,ModuleUri<'_>::hash FN:1090,ModuleUri<'_>::get_whitelist FN:1093,ModuleUri<'_>::is_allowed FN:1096,ModuleUri<'_>::test FN:1097,ModuleUri<'_>::test::check FN:1114,ModuleUri<'_>::working_directory FN:1126,SemanticVersion::from_string FN:1135,Script::ensure_relative FN:1154,Script::expand_arguments FN:1189,Script::expand_arguments_from FN:1224,Script::from_module FN:1282,Script::from_path FN:1297,Script::from_template FN:1317,Script::get_command FN:1327,Script::get_arguments FN:1367,Script::maybe_create_virtual_environment FN:1408,Script::maybe_git_clone FN:1415,Script::python_default FN:1429,Script::run FN:1496,Script::with_container FN:1503,Script::with_current_dir FN:1508,Script::with_envs FN:1550,Script::with_virtual_environment FN:1556,ScriptTemplate::from_path FN:1568,ScriptTemplate::resolve_python_virtual_environment FN:1596,StringTemplate::new FN:1605,StringTemplate::expand FN:1612,StringTemplate::get_variable FN:1642,StringTemplate::is_handlebars FN:1677,StringTemplate::remove_spaces FN:1687,add_dot_slash FN:1695,add_forward_slash FN:1702,download_binary FN:1703,download_binary::download FN:760,Config::read FN:784,Config::read_json FN:805,Config::read_yaml FN:825,Config::run_workflow FN:897,Config::set_environment_variables FN:913,Config::verify_requirements FN:931,Config::verify_resources FN:940,<impl PartialEq for Details>::eq FN:947,EnvironmentValue::from_string FN:950,EnvironmentValue::from_value FN:958,EnvironmentValue::prepend_prefix FN:962,EnvironmentValue::trim_prefix FN:966,EnvironmentValue::get_from_serde FN:980,EnvironmentValue::get_all FN:990,EnvironmentValue::print_all FN:995,EnvironmentValue::set_variable FN:1005,EnvironmentValue::set_variables FN:1012,Extension::from_string FN:1021,Label::dry_run FN:1025,Label::invalid FN:1028,Label::fmt_invalid FN:1032,Label::fail FN:1035,Label::fmt_fail FN:1039,Label::found FN:1043,Label::not_found FN:1046,Label::fmt_not_found FN:1050,Label::output FN:1053,Label::fmt_output FN:1057,Label::pass FN:1061,Label::read FN:1065,Label::rejected FN:1069,Label::run FN:1073,Label::using FN:1079,ModuleUri<'_>::from FN:1089,ModuleUri<'_>::hash FN:1113,ModuleUri<'_>::get_whitelist FN:1116,ModuleUri<'_>::is_allowed FN:1119,ModuleUri<'_>::test FN:1120,ModuleUri<'_>::test::check FN:1137,ModuleUri<'_>::working_directory FN:1149,SemanticVersion::from_string FN:1158,Script::ensure_relative FN:1177,Script::expand_arguments FN:1212,Script::expand_arguments_from FN:1247,Script::from_module FN:1305,Script::from_path FN:1320,Script::from_template FN:1340,Script::get_command FN:1350,Script::get_arguments FN:1390,Script::maybe_create_virtual_environment FN:1431,Script::maybe_git_clone FN:1438,Script::python_default FN:1452,Script::run FN:1519,Script::with_container FN:1526,Script::with_current_dir FN:1531,Script::with_envs FN:1573,Script::with_virtual_environment FN:1579,ScriptTemplate::from_path FN:1591,ScriptTemplate::resolve_python_virtual_environment FN:1619,StringTemplate::new FN:1628,StringTemplate::expand FN:1635,StringTemplate::get_variable FN:1665,StringTemplate::is_handlebars FN:1700,StringTemplate::remove_spaces FN:1710,add_dot_slash FN:1718,add_forward_slash FN:1725,download_binary FN:1726,download_binary::download FNF:72 FNDA:1,Command::test FNDA:0,Config::get_environment_variables Loading Loading @@ -393,7 +393,7 @@ FNDA:1,Script::run FNDA:1,Script::with_container FNDA:1,Script::with_current_dir FNDA:0,Script::with_envs FNDA:2,Script::with_virtual_environment FNDA:1,Script::with_virtual_environment FNDA:1,ScriptTemplate::from_path FNDA:0,ScriptTemplate::resolve_python_virtual_environment FNDA:2,StringTemplate::new Loading Loading @@ -444,638 +444,653 @@ DA:541,0 DA:542,0 DA:543,0 DA:545,0 DA:546,0 DA:547,0 DA:548,0 DA:549,0 DA:550,0 DA:551,0 DA:552,0 DA:553,0 DA:554,0 DA:555,0 DA:556,0 DA:557,0 DA:558,0 DA:559,0 DA:560,0 DA:561,0 DA:562,0 DA:563,0 DA:564,0 DA:565,0 DA:566,0 DA:568,0 DA:570,0 DA:573,0 DA:575,0 DA:581,0 DA:583,0 DA:580,0 DA:586,0 DA:588,0 DA:591,0 DA:593,0 DA:597,0 DA:600,0 DA:603,0 DA:596,0 DA:598,0 DA:602,0 DA:605,0 DA:607,0 DA:608,0 DA:609,0 DA:610,0 DA:611,0 DA:612,0 DA:613,0 DA:614,0 DA:615,0 DA:617,0 DA:618,0 DA:619,0 DA:622,0 DA:623,0 DA:624,0 DA:625,0 DA:626,0 DA:628,0 DA:627,0 DA:629,0 DA:630,0 DA:631,0 DA:633,0 DA:634,0 DA:635,0 DA:637,0 DA:636,0 DA:638,0 DA:639,0 DA:640,0 DA:644,0 DA:645,0 DA:646,0 DA:649,0 DA:648,0 DA:650,0 DA:651,0 DA:652,0 DA:654,0 DA:655,0 DA:656,0 DA:657,0 DA:658,0 DA:660,0 DA:661,0 DA:662,0 DA:663,0 DA:664,0 DA:665,0 DA:666,0 DA:667,0 DA:668,0 DA:670,0 DA:671,0 DA:674,0 DA:676,0 DA:677,0 DA:680,0 DA:681,0 DA:682,0 DA:683,0 DA:685,0 DA:684,0 DA:686,0 DA:687,0 DA:688,0 DA:689,0 DA:690,0 DA:691,0 DA:693,0 DA:694,0 DA:698,0 DA:703,0 DA:704,0 DA:705,0 DA:706,0 DA:708,0 DA:709,0 DA:710,0 DA:711,0 DA:713,0 DA:718,0 DA:719,0 DA:723,0 DA:726,0 DA:729,0 DA:712,0 DA:714,0 DA:716,0 DA:717,0 DA:721,0 DA:731,0 DA:732,0 DA:733,0 DA:735,0 DA:737,1 DA:738,2 DA:739,2 DA:740,1 DA:734,0 DA:736,0 DA:741,0 DA:743,2 DA:744,1 DA:745,0 DA:749,2 DA:750,1 DA:742,0 DA:746,0 DA:749,0 DA:752,0 DA:753,0 DA:761,1 DA:754,0 DA:756,0 DA:758,0 DA:760,1 DA:761,2 DA:762,2 DA:763,2 DA:765,0 DA:766,0 DA:769,3 DA:770,2 DA:771,4 DA:772,0 DA:774,6 DA:775,2 DA:782,1 DA:783,2 DA:763,1 DA:764,0 DA:766,2 DA:767,1 DA:768,0 DA:772,2 DA:773,1 DA:775,0 DA:776,0 DA:784,1 DA:786,0 DA:787,0 DA:790,2 DA:791,1 DA:792,2 DA:793,0 DA:795,3 DA:796,1 DA:802,0 DA:803,0 DA:805,0 DA:806,0 DA:807,0 DA:808,0 DA:785,2 DA:786,2 DA:788,0 DA:789,0 DA:792,3 DA:793,2 DA:794,4 DA:795,0 DA:797,6 DA:798,2 DA:805,1 DA:806,2 DA:807,1 DA:809,0 DA:810,0 DA:811,0 DA:813,0 DA:813,2 DA:814,1 DA:815,2 DA:816,0 DA:819,0 DA:822,0 DA:824,0 DA:818,3 DA:819,1 DA:825,0 DA:826,0 DA:827,0 DA:828,0 DA:829,0 DA:830,0 DA:831,0 DA:832,0 DA:835,0 DA:838,0 DA:833,0 DA:834,0 DA:836,0 DA:839,0 DA:842,0 DA:843,0 DA:844,0 DA:845,0 DA:846,0 DA:847,0 DA:848,0 DA:849,0 DA:850,0 DA:851,0 DA:852,0 DA:853,0 DA:854,0 DA:855,0 DA:856,0 DA:857,0 DA:859,0 DA:862,0 DA:858,0 DA:861,0 DA:865,0 DA:866,0 DA:867,0 DA:868,0 DA:870,0 DA:869,0 DA:871,0 DA:872,0 DA:874,0 DA:875,0 DA:876,0 DA:877,0 DA:878,0 DA:879,0 DA:884,0 DA:890,0 DA:880,0 DA:882,0 DA:885,0 DA:888,0 DA:891,0 DA:892,0 DA:893,0 DA:894,0 DA:895,0 DA:896,0 DA:897,0 DA:898,0 DA:899,0 DA:900,0 DA:901,0 DA:902,0 DA:908,0 DA:909,0 DA:917,1 DA:918,1 DA:924,0 DA:907,0 DA:913,0 DA:914,0 DA:915,0 DA:916,0 DA:917,0 DA:918,0 DA:919,0 DA:923,0 DA:925,0 DA:927,0 DA:928,0 DA:929,0 DA:930,0 DA:931,0 DA:932,0 DA:935,0 DA:936,0 DA:939,1 DA:940,1 DA:941,2 DA:943,0 DA:944,0 DA:945,0 DA:946,0 DA:941,1 DA:947,0 DA:948,0 DA:949,0 DA:950,0 DA:951,0 DA:952,0 DA:953,0 DA:954,0 DA:955,0 DA:957,1 DA:958,1 DA:959,2 DA:960,2 DA:961,2 DA:962,2 DA:958,0 DA:959,0 DA:962,1 DA:963,1 DA:964,2 DA:966,0 DA:967,0 DA:968,0 DA:969,0 DA:970,0 DA:971,0 DA:972,0 DA:973,0 DA:974,0 DA:975,0 DA:976,0 DA:977,0 DA:978,0 DA:982,0 DA:983,0 DA:985,0 DA:989,1 DA:990,2 DA:991,2 DA:992,3 DA:993,0 DA:980,1 DA:981,1 DA:982,2 DA:983,2 DA:984,2 DA:985,2 DA:986,1 DA:990,0 DA:991,0 DA:992,0 DA:995,0 DA:996,0 DA:997,0 DA:998,0 DA:999,0 DA:1000,0 DA:1002,0 DA:1003,0 DA:1001,0 DA:1005,0 DA:1006,0 DA:1007,0 DA:1009,0 DA:1010,0 DA:1012,0 DA:1013,0 DA:1014,0 DA:1008,0 DA:1012,1 DA:1013,2 DA:1014,2 DA:1015,3 DA:1016,0 DA:1017,0 DA:1018,0 DA:1020,0 DA:1021,0 DA:1022,0 DA:1023,0 DA:1024,0 DA:1025,0 DA:1027,1 DA:1028,3 DA:1030,3 DA:1031,3 DA:1032,3 DA:1034,0 DA:1026,0 DA:1028,0 DA:1029,0 DA:1030,0 DA:1032,0 DA:1033,0 DA:1035,0 DA:1036,0 DA:1038,0 DA:1037,0 DA:1039,0 DA:1040,0 DA:1042,0 DA:1041,0 DA:1043,0 DA:1044,0 DA:1046,0 DA:1047,0 DA:1048,0 DA:1050,0 DA:1051,0 DA:1052,0 DA:1056,2 DA:1057,2 DA:1058,3 DA:1059,1 DA:1060,2 DA:1050,1 DA:1051,3 DA:1053,3 DA:1054,3 DA:1055,3 DA:1057,0 DA:1058,0 DA:1059,0 DA:1061,0 DA:1063,1 DA:1066,1 DA:1067,1 DA:1068,1 DA:1069,1 DA:1070,1 DA:1062,0 DA:1063,0 DA:1065,0 DA:1066,0 DA:1067,0 DA:1069,0 DA:1070,0 DA:1071,0 DA:1073,2 DA:1077,2 DA:1078,2 DA:1073,0 DA:1074,0 DA:1075,0 DA:1079,2 DA:1080,2 DA:1081,2 DA:1081,3 DA:1082,1 DA:1083,2 DA:1086,0 DA:1090,0 DA:1091,0 DA:1093,0 DA:1084,0 DA:1086,1 DA:1089,1 DA:1090,1 DA:1091,1 DA:1092,1 DA:1093,1 DA:1094,0 DA:1096,0 DA:1097,0 DA:1098,0 DA:1100,0 DA:1101,0 DA:1102,0 DA:1103,0 DA:1104,0 DA:1105,0 DA:1106,0 DA:1108,0 DA:1110,0 DA:1096,2 DA:1100,2 DA:1101,2 DA:1103,2 DA:1104,2 DA:1106,2 DA:1109,0 DA:1113,0 DA:1114,0 DA:1115,0 DA:1116,0 DA:1117,0 DA:1118,0 DA:1119,0 DA:1120,0 DA:1121,0 DA:1126,1 DA:1127,1 DA:1128,3 DA:1129,3 DA:1130,3 DA:1135,1 DA:1136,1 DA:1137,2 DA:1138,1 DA:1154,1 DA:1155,2 DA:1158,2 DA:1123,0 DA:1124,0 DA:1125,0 DA:1126,0 DA:1127,0 DA:1128,0 DA:1129,0 DA:1131,0 DA:1133,0 DA:1137,0 DA:1138,0 DA:1139,0 DA:1140,0 DA:1141,0 DA:1143,0 DA:1144,0 DA:1149,1 DA:1150,1 DA:1151,3 DA:1152,3 DA:1153,3 DA:1158,1 DA:1159,1 DA:1160,2 DA:1161,1 DA:1162,1 DA:1164,2 DA:1168,1 DA:1169,1 DA:1189,1 DA:1190,2 DA:1193,2 DA:1194,1 DA:1195,2 DA:1196,2 DA:1199,2 DA:1201,1 DA:1203,2 DA:1207,1 DA:1208,1 DA:1224,0 DA:1226,0 DA:1227,0 DA:1228,0 DA:1231,0 DA:1232,0 DA:1233,0 DA:1234,0 DA:1235,0 DA:1237,0 DA:1238,0 DA:1239,0 DA:1242,0 DA:1243,0 DA:1244,0 DA:1245,0 DA:1248,0 DA:1177,1 DA:1178,2 DA:1181,2 DA:1182,1 DA:1183,2 DA:1184,1 DA:1185,1 DA:1187,2 DA:1191,1 DA:1192,1 DA:1212,1 DA:1213,2 DA:1216,2 DA:1217,1 DA:1218,2 DA:1219,2 DA:1222,2 DA:1224,1 DA:1226,2 DA:1230,1 DA:1231,1 DA:1247,0 DA:1249,0 DA:1250,0 DA:1253,0 DA:1251,0 DA:1254,0 DA:1255,0 DA:1256,0 DA:1259,0 DA:1257,0 DA:1258,0 DA:1260,0 DA:1261,0 DA:1262,0 DA:1265,0 DA:1266,0 DA:1282,1 DA:1283,1 DA:1284,1 DA:1297,1 DA:1298,1 DA:1299,3 DA:1303,2 DA:1305,2 DA:1307,2 DA:1311,1 DA:1312,1 DA:1313,1 DA:1315,2 DA:1317,1 DA:1318,1 DA:1319,1 DA:1267,0 DA:1268,0 DA:1271,0 DA:1272,0 DA:1273,0 DA:1276,0 DA:1278,0 DA:1279,0 DA:1282,0 DA:1288,0 DA:1289,0 DA:1305,1 DA:1306,1 DA:1307,1 DA:1320,1 DA:1322,1 DA:1323,2 DA:1324,1 DA:1327,1 DA:1328,1 DA:1329,1 DA:1330,1 DA:1331,1 DA:1332,1 DA:1333,0 DA:1335,0 DA:1336,0 DA:1339,2 DA:1340,2 DA:1321,1 DA:1322,3 DA:1326,2 DA:1328,2 DA:1330,2 DA:1334,1 DA:1335,1 DA:1336,1 DA:1338,2 DA:1340,1 DA:1341,1 DA:1342,1 DA:1344,1 DA:1343,1 DA:1345,1 DA:1346,2 DA:1347,2 DA:1348,2 DA:1350,2 DA:1352,4 DA:1353,2 DA:1355,0 DA:1347,1 DA:1350,1 DA:1351,1 DA:1352,1 DA:1353,1 DA:1354,1 DA:1355,1 DA:1356,0 DA:1359,2 DA:1360,2 DA:1362,1 DA:1367,0 DA:1368,0 DA:1369,0 DA:1370,0 DA:1372,0 DA:1373,0 DA:1374,0 DA:1375,0 DA:1376,0 DA:1377,0 DA:1358,0 DA:1359,0 DA:1362,2 DA:1363,1 DA:1365,1 DA:1367,1 DA:1368,1 DA:1369,1 DA:1370,2 DA:1371,2 DA:1373,1 DA:1375,3 DA:1376,2 DA:1378,0 DA:1379,0 DA:1380,0 DA:1381,0 DA:1382,0 DA:1383,0 DA:1384,0 DA:1385,0 DA:1387,0 DA:1388,0 DA:1382,2 DA:1383,2 DA:1385,1 DA:1390,0 DA:1391,0 DA:1392,0 DA:1393,0 DA:1395,0 DA:1396,0 DA:1397,0 DA:1398,0 DA:1399,0 DA:1400,0 DA:1402,0 DA:1403,0 DA:1404,0 DA:1408,1 DA:1409,2 DA:1410,2 DA:1411,2 DA:1412,3 DA:1413,1 DA:1415,0 DA:1416,0 DA:1417,0 DA:1425,0 DA:1429,1 DA:1430,1 DA:1405,0 DA:1406,0 DA:1407,0 DA:1408,0 DA:1410,0 DA:1411,0 DA:1414,0 DA:1418,0 DA:1419,0 DA:1422,0 DA:1427,0 DA:1431,1 DA:1432,2 DA:1433,2 DA:1434,3 DA:1435,1 DA:1436,7 DA:1437,2 DA:1438,1 DA:1439,1 DA:1440,1 DA:1441,1 DA:1446,2 DA:1447,1 DA:1449,0 DA:1450,0 DA:1434,2 DA:1435,3 DA:1436,1 DA:1438,0 DA:1439,0 DA:1440,0 DA:1448,0 DA:1452,1 DA:1453,1 DA:1454,1 DA:1455,2 DA:1456,2 DA:1459,2 DA:1460,1 DA:1462,0 DA:1463,0 DA:1466,1 DA:1467,1 DA:1468,2 DA:1469,3 DA:1470,2 DA:1473,2 DA:1474,1 DA:1475,3 DA:1457,3 DA:1458,1 DA:1459,7 DA:1460,2 DA:1461,1 DA:1462,1 DA:1463,1 DA:1464,1 DA:1469,2 DA:1470,1 DA:1472,0 DA:1473,0 DA:1476,1 DA:1477,3 DA:1478,3 DA:1479,1 DA:1481,0 DA:1482,0 DA:1483,0 DA:1477,1 DA:1478,2 DA:1479,2 DA:1482,2 DA:1483,1 DA:1485,0 DA:1486,0 DA:1487,0 DA:1488,0 DA:1492,0 DA:1493,0 DA:1496,1 DA:1489,1 DA:1490,1 DA:1491,2 DA:1492,3 DA:1493,2 DA:1496,2 DA:1497,1 DA:1498,1 DA:1503,1 DA:1504,2 DA:1505,1 DA:1508,0 DA:1498,3 DA:1499,1 DA:1500,3 DA:1501,3 DA:1502,1 DA:1504,0 DA:1505,0 DA:1506,0 DA:1509,0 DA:1510,0 DA:1550,2 DA:1551,1 DA:1552,1 DA:1556,1 DA:1557,2 DA:1558,1 DA:1560,0 DA:1561,0 DA:1564,2 DA:1566,1 DA:1568,0 DA:1569,0 DA:1570,0 DA:1571,0 DA:1572,0 DA:1573,0 DA:1574,0 DA:1575,0 DA:1577,0 DA:1578,0 DA:1579,0 DA:1511,0 DA:1515,0 DA:1516,0 DA:1519,1 DA:1520,1 DA:1521,1 DA:1526,1 DA:1527,2 DA:1528,1 DA:1531,0 DA:1532,0 DA:1533,0 DA:1573,1 DA:1574,3 DA:1575,3 DA:1579,1 DA:1580,2 DA:1581,1 DA:1583,0 DA:1584,0 DA:1585,0 DA:1586,0 DA:1596,2 DA:1598,2 DA:1605,1 DA:1606,6 DA:1607,5 DA:1612,1 DA:1613,2 DA:1614,2 DA:1615,1 DA:1616,2 DA:1618,0 DA:1642,2 DA:1643,4 DA:1644,4 DA:1645,2 DA:1646,0 DA:1648,0 DA:1677,1 DA:1678,2 DA:1679,1 DA:1680,0 DA:1682,3 DA:1683,1 DA:1687,1 DA:1688,2 DA:1689,2 DA:1691,4 DA:1695,1 DA:1696,2 DA:1697,0 DA:1699,2 DA:1702,0 DA:1587,2 DA:1589,1 DA:1591,0 DA:1592,0 DA:1593,0 DA:1594,0 DA:1595,0 DA:1596,0 DA:1597,0 DA:1598,0 DA:1600,0 DA:1601,0 DA:1602,0 DA:1607,0 DA:1608,0 DA:1609,0 DA:1619,2 DA:1621,2 DA:1628,1 DA:1629,6 DA:1630,5 DA:1635,1 DA:1636,2 DA:1637,2 DA:1638,1 DA:1639,2 DA:1641,0 DA:1665,2 DA:1666,4 DA:1667,4 DA:1668,2 DA:1669,0 DA:1671,0 DA:1700,1 DA:1701,2 DA:1702,1 DA:1703,0 DA:1704,0 DA:1705,0 DA:1706,0 DA:1707,0 DA:1708,0 DA:1709,0 DA:1710,0 DA:1711,0 DA:1712,0 DA:1713,0 DA:1715,0 DA:1717,0 DA:1705,3 DA:1706,1 DA:1710,1 DA:1711,2 DA:1712,2 DA:1714,4 DA:1718,1 DA:1719,2 DA:1720,0 DA:1721,0 DA:1722,0 DA:1723,0 DA:1738,1 DA:1739,1 DA:1740,4 DA:1741,2 DA:1745,1 DA:1746,2 DA:1747,2 DA:1748,2 DA:1749,2 DA:1750,5 DA:1753,1 DA:1755,2 DA:1757,4 DA:1760,0 DA:1787,1 DA:1788,2 DA:1789,2 DA:1790,1 DA:1791,6 DA:1803,1 DA:1805,0 DA:1807,1 DA:1822,1 DA:1823,1 DA:1722,2 DA:1725,0 DA:1726,0 DA:1727,0 DA:1728,0 DA:1729,0 DA:1730,0 DA:1731,0 DA:1732,0 DA:1733,0 DA:1734,0 DA:1735,0 DA:1736,0 DA:1738,0 DA:1740,0 DA:1743,0 DA:1744,0 DA:1745,0 DA:1746,0 DA:1761,1 DA:1762,1 DA:1763,4 DA:1764,2 DA:1768,1 DA:1769,2 DA:1770,2 DA:1771,2 DA:1772,2 DA:1773,5 DA:1776,1 DA:1778,2 DA:1780,4 DA:1783,0 DA:1810,1 DA:1811,2 DA:1812,2 DA:1813,1 DA:1814,6 DA:1826,1 DA:1827,3 DA:1839,1 DA:1840,1 DA:1843,0 DA:1844,0 DA:1845,0 DA:1847,0 DA:1851,0 DA:1852,0 DA:1853,0 DA:1855,0 DA:1859,0 DA:1861,0 DA:1862,0 DA:1869,1 DA:1871,2 DA:1872,1 DA:1873,1 DA:1875,3 DA:1888,2 DA:1889,2 DA:1890,4 DA:1891,4 DA:1892,12 DA:1893,8 DA:1828,0 DA:1830,1 DA:1845,1 DA:1846,1 DA:1849,1 DA:1850,3 DA:1862,1 DA:1863,1 DA:1866,0 DA:1867,0 DA:1868,0 DA:1870,0 DA:1874,0 DA:1875,0 DA:1876,0 DA:1878,0 DA:1882,0 DA:1884,0 DA:1885,0 DA:1892,1 DA:1894,2 DA:1895,1 DA:1896,3 DA:1897,1 DA:1900,1 DA:1902,1 DA:1903,8 LF:671 DA:1896,1 DA:1898,3 DA:1911,2 DA:1912,2 DA:1913,4 DA:1914,4 DA:1915,12 DA:1916,8 DA:1918,1 DA:1919,3 DA:1920,1 DA:1923,1 DA:1925,1 DA:1926,8 LF:686 LH:263 end_of_record pipe-lib/src/lib.rs +37 −14 Original line number Diff line number Diff line Loading @@ -543,9 +543,14 @@ impl Config { | ModuleUri::Url(value) if !options.offline => match value.scheme() { | Scheme::HTTP | Scheme::HTTPS | Scheme::SSH => { let url = value.to_string(); // TODO: Filter URL using whitelist // TODO: Check that URL exists if ModuleUri::is_allowed(value) { debug!(module = module.name, url, "=> {} Remote binary", Label::found()); info!(module = module.name, url, "=> {} Remote binary URL is on whitelist", Label::pass()); } else { error!(module = module.name, url, "=> {} Not on whitelist", Label::rejected()); std::process::exit(exitcode::NOPERM); } // TODO: Check that URL exists if !options.dry_run { let output = download_binary(url.clone(), options.root.clone()); if !options.skip_verify_checksum { Loading @@ -557,7 +562,9 @@ impl Config { | Some(value) if value == &calculated_checksum => { info!(module = module.name, url, "=> {} Checksum verified", Label::pass()); if let Ok(path) = output { if !make_executable(&path) { if make_executable(&path) { info!(module = module.name, url, "=> {} Downloaded binary is executable", Label::pass()); } else { error!( module = module.name, url, Loading @@ -566,8 +573,6 @@ impl Config { Label::fail() ); std::process::exit(exitcode::USAGE); } else { info!(module = module.name, url, "=> {} Downloaded binary is executable", Label::pass()); } } } Loading Loading @@ -606,11 +611,11 @@ impl Config { | Ok(true) => { let path = value.into_os_string().into_string().unwrap(); debug!(module = module.name, path, "=> {} Local binary", Label::found()); if !make_executable(&PathBuf::from(path.clone())) { if make_executable(&PathBuf::from(path.clone())) { info!(module = module.name, path, "=> {} Binary is executable", Label::pass()); } else { error!(module = module.name, path, "=> {} Binary is not executable", Label::fail()); std::process::exit(exitcode::USAGE); } else { info!(module = module.name, path, "=> {} Binary is executable", Label::pass()); } } | _ => { Loading @@ -625,8 +630,14 @@ impl Config { | ModuleLanguage::Generic => match ModuleUri::from(uri) { | ModuleUri::Url(value) if !options.offline => match value.scheme() { | Scheme::HTTP | Scheme::HTTPS | Scheme::SSH => { debug!(uri, "=> {} Remote script repository", Label::found()); // TODO: Filter URL using whitelist let url = value.to_string(); if ModuleUri::is_allowed(value) { debug!(module = module.name, url, "=> {} Remote script repository", Label::found()); info!(module = module.name, url, "=> {} URL is on whitelist", Label::pass()); } else { error!(module = module.name, url, "=> {} Not on whitelist", Label::rejected()); std::process::exit(exitcode::NOPERM); } // TODO: Check that URL exists // TODO: Git clone module // TODO: Check script repository with is_valid_pipe_module_python Loading @@ -651,8 +662,20 @@ impl Config { | ModuleLanguage::Python => match ModuleUri::from(uri) { | ModuleUri::Url(value) if !options.offline => match value.scheme() { | Scheme::HTTP | Scheme::HTTPS | Scheme::SSH => { debug!(uri, "=> {} Remote {} script repository", Label::found(), programming_language); // TODO: Filter URL using whitelist let url = value.to_string(); if ModuleUri::is_allowed(value) { debug!( module = module.name, url, "=> {} Remote {} script repository", Label::found(), programming_language ); info!(module = module.name, url, "=> {} URL is on whitelist", Label::pass()); } else { error!(module = module.name, url, "=> {} Not on whitelist", Label::rejected()); std::process::exit(exitcode::NOPERM); } // TODO: Check that URL exists if ModuleUri::from(uri).test() { info!(module = module.name, uri, "=> {}", Label::found()); Loading Loading @@ -1040,8 +1063,8 @@ impl Label { "READ".style(style) } pub fn rejected() -> Styled<&'static &'static str> { let style = Style::new().white().on_red(); " REJECTED ".style(style) let style = Style::new().red().on_default_color(); "🛑 REJECTED ".style(style) } pub fn run() -> Styled<&'static &'static str> { let style = Style::new().black().on_yellow(); Loading Loading
.gitlab-ci.yml +2 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,8 @@ publish-release: - if: $CI_COMMIT_TAG when: never - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH changes: - Cargo.toml release: tag_name: "v$PKG_VERSION" description: "PIPE CLI v$PKG_VERSION" Loading
lcov.info +557 −542 Original line number Diff line number Diff line Loading @@ -264,74 +264,74 @@ FN:468,Command::test FN:491,Config::get_environment_variables FN:503,Config::get_inputs FN:540,Config::prepare_modules FN:737,Config::read FN:761,Config::read_json FN:782,Config::read_yaml FN:802,Config::run_workflow FN:874,Config::set_environment_variables FN:890,Config::verify_requirements FN:908,Config::verify_resources FN:917,<impl PartialEq for Details>::eq FN:924,EnvironmentValue::from_string FN:927,EnvironmentValue::from_value FN:935,EnvironmentValue::prepend_prefix FN:939,EnvironmentValue::trim_prefix FN:943,EnvironmentValue::get_from_serde FN:957,EnvironmentValue::get_all FN:967,EnvironmentValue::print_all FN:972,EnvironmentValue::set_variable FN:982,EnvironmentValue::set_variables FN:989,Extension::from_string FN:998,Label::dry_run FN:1002,Label::invalid FN:1005,Label::fmt_invalid FN:1009,Label::fail FN:1012,Label::fmt_fail FN:1016,Label::found FN:1020,Label::not_found FN:1023,Label::fmt_not_found FN:1027,Label::output FN:1030,Label::fmt_output FN:1034,Label::pass FN:1038,Label::read FN:1042,Label::rejected FN:1046,Label::run FN:1050,Label::using FN:1056,ModuleUri<'_>::from FN:1066,ModuleUri<'_>::hash FN:1090,ModuleUri<'_>::get_whitelist FN:1093,ModuleUri<'_>::is_allowed FN:1096,ModuleUri<'_>::test FN:1097,ModuleUri<'_>::test::check FN:1114,ModuleUri<'_>::working_directory FN:1126,SemanticVersion::from_string FN:1135,Script::ensure_relative FN:1154,Script::expand_arguments FN:1189,Script::expand_arguments_from FN:1224,Script::from_module FN:1282,Script::from_path FN:1297,Script::from_template FN:1317,Script::get_command FN:1327,Script::get_arguments FN:1367,Script::maybe_create_virtual_environment FN:1408,Script::maybe_git_clone FN:1415,Script::python_default FN:1429,Script::run FN:1496,Script::with_container FN:1503,Script::with_current_dir FN:1508,Script::with_envs FN:1550,Script::with_virtual_environment FN:1556,ScriptTemplate::from_path FN:1568,ScriptTemplate::resolve_python_virtual_environment FN:1596,StringTemplate::new FN:1605,StringTemplate::expand FN:1612,StringTemplate::get_variable FN:1642,StringTemplate::is_handlebars FN:1677,StringTemplate::remove_spaces FN:1687,add_dot_slash FN:1695,add_forward_slash FN:1702,download_binary FN:1703,download_binary::download FN:760,Config::read FN:784,Config::read_json FN:805,Config::read_yaml FN:825,Config::run_workflow FN:897,Config::set_environment_variables FN:913,Config::verify_requirements FN:931,Config::verify_resources FN:940,<impl PartialEq for Details>::eq FN:947,EnvironmentValue::from_string FN:950,EnvironmentValue::from_value FN:958,EnvironmentValue::prepend_prefix FN:962,EnvironmentValue::trim_prefix FN:966,EnvironmentValue::get_from_serde FN:980,EnvironmentValue::get_all FN:990,EnvironmentValue::print_all FN:995,EnvironmentValue::set_variable FN:1005,EnvironmentValue::set_variables FN:1012,Extension::from_string FN:1021,Label::dry_run FN:1025,Label::invalid FN:1028,Label::fmt_invalid FN:1032,Label::fail FN:1035,Label::fmt_fail FN:1039,Label::found FN:1043,Label::not_found FN:1046,Label::fmt_not_found FN:1050,Label::output FN:1053,Label::fmt_output FN:1057,Label::pass FN:1061,Label::read FN:1065,Label::rejected FN:1069,Label::run FN:1073,Label::using FN:1079,ModuleUri<'_>::from FN:1089,ModuleUri<'_>::hash FN:1113,ModuleUri<'_>::get_whitelist FN:1116,ModuleUri<'_>::is_allowed FN:1119,ModuleUri<'_>::test FN:1120,ModuleUri<'_>::test::check FN:1137,ModuleUri<'_>::working_directory FN:1149,SemanticVersion::from_string FN:1158,Script::ensure_relative FN:1177,Script::expand_arguments FN:1212,Script::expand_arguments_from FN:1247,Script::from_module FN:1305,Script::from_path FN:1320,Script::from_template FN:1340,Script::get_command FN:1350,Script::get_arguments FN:1390,Script::maybe_create_virtual_environment FN:1431,Script::maybe_git_clone FN:1438,Script::python_default FN:1452,Script::run FN:1519,Script::with_container FN:1526,Script::with_current_dir FN:1531,Script::with_envs FN:1573,Script::with_virtual_environment FN:1579,ScriptTemplate::from_path FN:1591,ScriptTemplate::resolve_python_virtual_environment FN:1619,StringTemplate::new FN:1628,StringTemplate::expand FN:1635,StringTemplate::get_variable FN:1665,StringTemplate::is_handlebars FN:1700,StringTemplate::remove_spaces FN:1710,add_dot_slash FN:1718,add_forward_slash FN:1725,download_binary FN:1726,download_binary::download FNF:72 FNDA:1,Command::test FNDA:0,Config::get_environment_variables Loading Loading @@ -393,7 +393,7 @@ FNDA:1,Script::run FNDA:1,Script::with_container FNDA:1,Script::with_current_dir FNDA:0,Script::with_envs FNDA:2,Script::with_virtual_environment FNDA:1,Script::with_virtual_environment FNDA:1,ScriptTemplate::from_path FNDA:0,ScriptTemplate::resolve_python_virtual_environment FNDA:2,StringTemplate::new Loading Loading @@ -444,638 +444,653 @@ DA:541,0 DA:542,0 DA:543,0 DA:545,0 DA:546,0 DA:547,0 DA:548,0 DA:549,0 DA:550,0 DA:551,0 DA:552,0 DA:553,0 DA:554,0 DA:555,0 DA:556,0 DA:557,0 DA:558,0 DA:559,0 DA:560,0 DA:561,0 DA:562,0 DA:563,0 DA:564,0 DA:565,0 DA:566,0 DA:568,0 DA:570,0 DA:573,0 DA:575,0 DA:581,0 DA:583,0 DA:580,0 DA:586,0 DA:588,0 DA:591,0 DA:593,0 DA:597,0 DA:600,0 DA:603,0 DA:596,0 DA:598,0 DA:602,0 DA:605,0 DA:607,0 DA:608,0 DA:609,0 DA:610,0 DA:611,0 DA:612,0 DA:613,0 DA:614,0 DA:615,0 DA:617,0 DA:618,0 DA:619,0 DA:622,0 DA:623,0 DA:624,0 DA:625,0 DA:626,0 DA:628,0 DA:627,0 DA:629,0 DA:630,0 DA:631,0 DA:633,0 DA:634,0 DA:635,0 DA:637,0 DA:636,0 DA:638,0 DA:639,0 DA:640,0 DA:644,0 DA:645,0 DA:646,0 DA:649,0 DA:648,0 DA:650,0 DA:651,0 DA:652,0 DA:654,0 DA:655,0 DA:656,0 DA:657,0 DA:658,0 DA:660,0 DA:661,0 DA:662,0 DA:663,0 DA:664,0 DA:665,0 DA:666,0 DA:667,0 DA:668,0 DA:670,0 DA:671,0 DA:674,0 DA:676,0 DA:677,0 DA:680,0 DA:681,0 DA:682,0 DA:683,0 DA:685,0 DA:684,0 DA:686,0 DA:687,0 DA:688,0 DA:689,0 DA:690,0 DA:691,0 DA:693,0 DA:694,0 DA:698,0 DA:703,0 DA:704,0 DA:705,0 DA:706,0 DA:708,0 DA:709,0 DA:710,0 DA:711,0 DA:713,0 DA:718,0 DA:719,0 DA:723,0 DA:726,0 DA:729,0 DA:712,0 DA:714,0 DA:716,0 DA:717,0 DA:721,0 DA:731,0 DA:732,0 DA:733,0 DA:735,0 DA:737,1 DA:738,2 DA:739,2 DA:740,1 DA:734,0 DA:736,0 DA:741,0 DA:743,2 DA:744,1 DA:745,0 DA:749,2 DA:750,1 DA:742,0 DA:746,0 DA:749,0 DA:752,0 DA:753,0 DA:761,1 DA:754,0 DA:756,0 DA:758,0 DA:760,1 DA:761,2 DA:762,2 DA:763,2 DA:765,0 DA:766,0 DA:769,3 DA:770,2 DA:771,4 DA:772,0 DA:774,6 DA:775,2 DA:782,1 DA:783,2 DA:763,1 DA:764,0 DA:766,2 DA:767,1 DA:768,0 DA:772,2 DA:773,1 DA:775,0 DA:776,0 DA:784,1 DA:786,0 DA:787,0 DA:790,2 DA:791,1 DA:792,2 DA:793,0 DA:795,3 DA:796,1 DA:802,0 DA:803,0 DA:805,0 DA:806,0 DA:807,0 DA:808,0 DA:785,2 DA:786,2 DA:788,0 DA:789,0 DA:792,3 DA:793,2 DA:794,4 DA:795,0 DA:797,6 DA:798,2 DA:805,1 DA:806,2 DA:807,1 DA:809,0 DA:810,0 DA:811,0 DA:813,0 DA:813,2 DA:814,1 DA:815,2 DA:816,0 DA:819,0 DA:822,0 DA:824,0 DA:818,3 DA:819,1 DA:825,0 DA:826,0 DA:827,0 DA:828,0 DA:829,0 DA:830,0 DA:831,0 DA:832,0 DA:835,0 DA:838,0 DA:833,0 DA:834,0 DA:836,0 DA:839,0 DA:842,0 DA:843,0 DA:844,0 DA:845,0 DA:846,0 DA:847,0 DA:848,0 DA:849,0 DA:850,0 DA:851,0 DA:852,0 DA:853,0 DA:854,0 DA:855,0 DA:856,0 DA:857,0 DA:859,0 DA:862,0 DA:858,0 DA:861,0 DA:865,0 DA:866,0 DA:867,0 DA:868,0 DA:870,0 DA:869,0 DA:871,0 DA:872,0 DA:874,0 DA:875,0 DA:876,0 DA:877,0 DA:878,0 DA:879,0 DA:884,0 DA:890,0 DA:880,0 DA:882,0 DA:885,0 DA:888,0 DA:891,0 DA:892,0 DA:893,0 DA:894,0 DA:895,0 DA:896,0 DA:897,0 DA:898,0 DA:899,0 DA:900,0 DA:901,0 DA:902,0 DA:908,0 DA:909,0 DA:917,1 DA:918,1 DA:924,0 DA:907,0 DA:913,0 DA:914,0 DA:915,0 DA:916,0 DA:917,0 DA:918,0 DA:919,0 DA:923,0 DA:925,0 DA:927,0 DA:928,0 DA:929,0 DA:930,0 DA:931,0 DA:932,0 DA:935,0 DA:936,0 DA:939,1 DA:940,1 DA:941,2 DA:943,0 DA:944,0 DA:945,0 DA:946,0 DA:941,1 DA:947,0 DA:948,0 DA:949,0 DA:950,0 DA:951,0 DA:952,0 DA:953,0 DA:954,0 DA:955,0 DA:957,1 DA:958,1 DA:959,2 DA:960,2 DA:961,2 DA:962,2 DA:958,0 DA:959,0 DA:962,1 DA:963,1 DA:964,2 DA:966,0 DA:967,0 DA:968,0 DA:969,0 DA:970,0 DA:971,0 DA:972,0 DA:973,0 DA:974,0 DA:975,0 DA:976,0 DA:977,0 DA:978,0 DA:982,0 DA:983,0 DA:985,0 DA:989,1 DA:990,2 DA:991,2 DA:992,3 DA:993,0 DA:980,1 DA:981,1 DA:982,2 DA:983,2 DA:984,2 DA:985,2 DA:986,1 DA:990,0 DA:991,0 DA:992,0 DA:995,0 DA:996,0 DA:997,0 DA:998,0 DA:999,0 DA:1000,0 DA:1002,0 DA:1003,0 DA:1001,0 DA:1005,0 DA:1006,0 DA:1007,0 DA:1009,0 DA:1010,0 DA:1012,0 DA:1013,0 DA:1014,0 DA:1008,0 DA:1012,1 DA:1013,2 DA:1014,2 DA:1015,3 DA:1016,0 DA:1017,0 DA:1018,0 DA:1020,0 DA:1021,0 DA:1022,0 DA:1023,0 DA:1024,0 DA:1025,0 DA:1027,1 DA:1028,3 DA:1030,3 DA:1031,3 DA:1032,3 DA:1034,0 DA:1026,0 DA:1028,0 DA:1029,0 DA:1030,0 DA:1032,0 DA:1033,0 DA:1035,0 DA:1036,0 DA:1038,0 DA:1037,0 DA:1039,0 DA:1040,0 DA:1042,0 DA:1041,0 DA:1043,0 DA:1044,0 DA:1046,0 DA:1047,0 DA:1048,0 DA:1050,0 DA:1051,0 DA:1052,0 DA:1056,2 DA:1057,2 DA:1058,3 DA:1059,1 DA:1060,2 DA:1050,1 DA:1051,3 DA:1053,3 DA:1054,3 DA:1055,3 DA:1057,0 DA:1058,0 DA:1059,0 DA:1061,0 DA:1063,1 DA:1066,1 DA:1067,1 DA:1068,1 DA:1069,1 DA:1070,1 DA:1062,0 DA:1063,0 DA:1065,0 DA:1066,0 DA:1067,0 DA:1069,0 DA:1070,0 DA:1071,0 DA:1073,2 DA:1077,2 DA:1078,2 DA:1073,0 DA:1074,0 DA:1075,0 DA:1079,2 DA:1080,2 DA:1081,2 DA:1081,3 DA:1082,1 DA:1083,2 DA:1086,0 DA:1090,0 DA:1091,0 DA:1093,0 DA:1084,0 DA:1086,1 DA:1089,1 DA:1090,1 DA:1091,1 DA:1092,1 DA:1093,1 DA:1094,0 DA:1096,0 DA:1097,0 DA:1098,0 DA:1100,0 DA:1101,0 DA:1102,0 DA:1103,0 DA:1104,0 DA:1105,0 DA:1106,0 DA:1108,0 DA:1110,0 DA:1096,2 DA:1100,2 DA:1101,2 DA:1103,2 DA:1104,2 DA:1106,2 DA:1109,0 DA:1113,0 DA:1114,0 DA:1115,0 DA:1116,0 DA:1117,0 DA:1118,0 DA:1119,0 DA:1120,0 DA:1121,0 DA:1126,1 DA:1127,1 DA:1128,3 DA:1129,3 DA:1130,3 DA:1135,1 DA:1136,1 DA:1137,2 DA:1138,1 DA:1154,1 DA:1155,2 DA:1158,2 DA:1123,0 DA:1124,0 DA:1125,0 DA:1126,0 DA:1127,0 DA:1128,0 DA:1129,0 DA:1131,0 DA:1133,0 DA:1137,0 DA:1138,0 DA:1139,0 DA:1140,0 DA:1141,0 DA:1143,0 DA:1144,0 DA:1149,1 DA:1150,1 DA:1151,3 DA:1152,3 DA:1153,3 DA:1158,1 DA:1159,1 DA:1160,2 DA:1161,1 DA:1162,1 DA:1164,2 DA:1168,1 DA:1169,1 DA:1189,1 DA:1190,2 DA:1193,2 DA:1194,1 DA:1195,2 DA:1196,2 DA:1199,2 DA:1201,1 DA:1203,2 DA:1207,1 DA:1208,1 DA:1224,0 DA:1226,0 DA:1227,0 DA:1228,0 DA:1231,0 DA:1232,0 DA:1233,0 DA:1234,0 DA:1235,0 DA:1237,0 DA:1238,0 DA:1239,0 DA:1242,0 DA:1243,0 DA:1244,0 DA:1245,0 DA:1248,0 DA:1177,1 DA:1178,2 DA:1181,2 DA:1182,1 DA:1183,2 DA:1184,1 DA:1185,1 DA:1187,2 DA:1191,1 DA:1192,1 DA:1212,1 DA:1213,2 DA:1216,2 DA:1217,1 DA:1218,2 DA:1219,2 DA:1222,2 DA:1224,1 DA:1226,2 DA:1230,1 DA:1231,1 DA:1247,0 DA:1249,0 DA:1250,0 DA:1253,0 DA:1251,0 DA:1254,0 DA:1255,0 DA:1256,0 DA:1259,0 DA:1257,0 DA:1258,0 DA:1260,0 DA:1261,0 DA:1262,0 DA:1265,0 DA:1266,0 DA:1282,1 DA:1283,1 DA:1284,1 DA:1297,1 DA:1298,1 DA:1299,3 DA:1303,2 DA:1305,2 DA:1307,2 DA:1311,1 DA:1312,1 DA:1313,1 DA:1315,2 DA:1317,1 DA:1318,1 DA:1319,1 DA:1267,0 DA:1268,0 DA:1271,0 DA:1272,0 DA:1273,0 DA:1276,0 DA:1278,0 DA:1279,0 DA:1282,0 DA:1288,0 DA:1289,0 DA:1305,1 DA:1306,1 DA:1307,1 DA:1320,1 DA:1322,1 DA:1323,2 DA:1324,1 DA:1327,1 DA:1328,1 DA:1329,1 DA:1330,1 DA:1331,1 DA:1332,1 DA:1333,0 DA:1335,0 DA:1336,0 DA:1339,2 DA:1340,2 DA:1321,1 DA:1322,3 DA:1326,2 DA:1328,2 DA:1330,2 DA:1334,1 DA:1335,1 DA:1336,1 DA:1338,2 DA:1340,1 DA:1341,1 DA:1342,1 DA:1344,1 DA:1343,1 DA:1345,1 DA:1346,2 DA:1347,2 DA:1348,2 DA:1350,2 DA:1352,4 DA:1353,2 DA:1355,0 DA:1347,1 DA:1350,1 DA:1351,1 DA:1352,1 DA:1353,1 DA:1354,1 DA:1355,1 DA:1356,0 DA:1359,2 DA:1360,2 DA:1362,1 DA:1367,0 DA:1368,0 DA:1369,0 DA:1370,0 DA:1372,0 DA:1373,0 DA:1374,0 DA:1375,0 DA:1376,0 DA:1377,0 DA:1358,0 DA:1359,0 DA:1362,2 DA:1363,1 DA:1365,1 DA:1367,1 DA:1368,1 DA:1369,1 DA:1370,2 DA:1371,2 DA:1373,1 DA:1375,3 DA:1376,2 DA:1378,0 DA:1379,0 DA:1380,0 DA:1381,0 DA:1382,0 DA:1383,0 DA:1384,0 DA:1385,0 DA:1387,0 DA:1388,0 DA:1382,2 DA:1383,2 DA:1385,1 DA:1390,0 DA:1391,0 DA:1392,0 DA:1393,0 DA:1395,0 DA:1396,0 DA:1397,0 DA:1398,0 DA:1399,0 DA:1400,0 DA:1402,0 DA:1403,0 DA:1404,0 DA:1408,1 DA:1409,2 DA:1410,2 DA:1411,2 DA:1412,3 DA:1413,1 DA:1415,0 DA:1416,0 DA:1417,0 DA:1425,0 DA:1429,1 DA:1430,1 DA:1405,0 DA:1406,0 DA:1407,0 DA:1408,0 DA:1410,0 DA:1411,0 DA:1414,0 DA:1418,0 DA:1419,0 DA:1422,0 DA:1427,0 DA:1431,1 DA:1432,2 DA:1433,2 DA:1434,3 DA:1435,1 DA:1436,7 DA:1437,2 DA:1438,1 DA:1439,1 DA:1440,1 DA:1441,1 DA:1446,2 DA:1447,1 DA:1449,0 DA:1450,0 DA:1434,2 DA:1435,3 DA:1436,1 DA:1438,0 DA:1439,0 DA:1440,0 DA:1448,0 DA:1452,1 DA:1453,1 DA:1454,1 DA:1455,2 DA:1456,2 DA:1459,2 DA:1460,1 DA:1462,0 DA:1463,0 DA:1466,1 DA:1467,1 DA:1468,2 DA:1469,3 DA:1470,2 DA:1473,2 DA:1474,1 DA:1475,3 DA:1457,3 DA:1458,1 DA:1459,7 DA:1460,2 DA:1461,1 DA:1462,1 DA:1463,1 DA:1464,1 DA:1469,2 DA:1470,1 DA:1472,0 DA:1473,0 DA:1476,1 DA:1477,3 DA:1478,3 DA:1479,1 DA:1481,0 DA:1482,0 DA:1483,0 DA:1477,1 DA:1478,2 DA:1479,2 DA:1482,2 DA:1483,1 DA:1485,0 DA:1486,0 DA:1487,0 DA:1488,0 DA:1492,0 DA:1493,0 DA:1496,1 DA:1489,1 DA:1490,1 DA:1491,2 DA:1492,3 DA:1493,2 DA:1496,2 DA:1497,1 DA:1498,1 DA:1503,1 DA:1504,2 DA:1505,1 DA:1508,0 DA:1498,3 DA:1499,1 DA:1500,3 DA:1501,3 DA:1502,1 DA:1504,0 DA:1505,0 DA:1506,0 DA:1509,0 DA:1510,0 DA:1550,2 DA:1551,1 DA:1552,1 DA:1556,1 DA:1557,2 DA:1558,1 DA:1560,0 DA:1561,0 DA:1564,2 DA:1566,1 DA:1568,0 DA:1569,0 DA:1570,0 DA:1571,0 DA:1572,0 DA:1573,0 DA:1574,0 DA:1575,0 DA:1577,0 DA:1578,0 DA:1579,0 DA:1511,0 DA:1515,0 DA:1516,0 DA:1519,1 DA:1520,1 DA:1521,1 DA:1526,1 DA:1527,2 DA:1528,1 DA:1531,0 DA:1532,0 DA:1533,0 DA:1573,1 DA:1574,3 DA:1575,3 DA:1579,1 DA:1580,2 DA:1581,1 DA:1583,0 DA:1584,0 DA:1585,0 DA:1586,0 DA:1596,2 DA:1598,2 DA:1605,1 DA:1606,6 DA:1607,5 DA:1612,1 DA:1613,2 DA:1614,2 DA:1615,1 DA:1616,2 DA:1618,0 DA:1642,2 DA:1643,4 DA:1644,4 DA:1645,2 DA:1646,0 DA:1648,0 DA:1677,1 DA:1678,2 DA:1679,1 DA:1680,0 DA:1682,3 DA:1683,1 DA:1687,1 DA:1688,2 DA:1689,2 DA:1691,4 DA:1695,1 DA:1696,2 DA:1697,0 DA:1699,2 DA:1702,0 DA:1587,2 DA:1589,1 DA:1591,0 DA:1592,0 DA:1593,0 DA:1594,0 DA:1595,0 DA:1596,0 DA:1597,0 DA:1598,0 DA:1600,0 DA:1601,0 DA:1602,0 DA:1607,0 DA:1608,0 DA:1609,0 DA:1619,2 DA:1621,2 DA:1628,1 DA:1629,6 DA:1630,5 DA:1635,1 DA:1636,2 DA:1637,2 DA:1638,1 DA:1639,2 DA:1641,0 DA:1665,2 DA:1666,4 DA:1667,4 DA:1668,2 DA:1669,0 DA:1671,0 DA:1700,1 DA:1701,2 DA:1702,1 DA:1703,0 DA:1704,0 DA:1705,0 DA:1706,0 DA:1707,0 DA:1708,0 DA:1709,0 DA:1710,0 DA:1711,0 DA:1712,0 DA:1713,0 DA:1715,0 DA:1717,0 DA:1705,3 DA:1706,1 DA:1710,1 DA:1711,2 DA:1712,2 DA:1714,4 DA:1718,1 DA:1719,2 DA:1720,0 DA:1721,0 DA:1722,0 DA:1723,0 DA:1738,1 DA:1739,1 DA:1740,4 DA:1741,2 DA:1745,1 DA:1746,2 DA:1747,2 DA:1748,2 DA:1749,2 DA:1750,5 DA:1753,1 DA:1755,2 DA:1757,4 DA:1760,0 DA:1787,1 DA:1788,2 DA:1789,2 DA:1790,1 DA:1791,6 DA:1803,1 DA:1805,0 DA:1807,1 DA:1822,1 DA:1823,1 DA:1722,2 DA:1725,0 DA:1726,0 DA:1727,0 DA:1728,0 DA:1729,0 DA:1730,0 DA:1731,0 DA:1732,0 DA:1733,0 DA:1734,0 DA:1735,0 DA:1736,0 DA:1738,0 DA:1740,0 DA:1743,0 DA:1744,0 DA:1745,0 DA:1746,0 DA:1761,1 DA:1762,1 DA:1763,4 DA:1764,2 DA:1768,1 DA:1769,2 DA:1770,2 DA:1771,2 DA:1772,2 DA:1773,5 DA:1776,1 DA:1778,2 DA:1780,4 DA:1783,0 DA:1810,1 DA:1811,2 DA:1812,2 DA:1813,1 DA:1814,6 DA:1826,1 DA:1827,3 DA:1839,1 DA:1840,1 DA:1843,0 DA:1844,0 DA:1845,0 DA:1847,0 DA:1851,0 DA:1852,0 DA:1853,0 DA:1855,0 DA:1859,0 DA:1861,0 DA:1862,0 DA:1869,1 DA:1871,2 DA:1872,1 DA:1873,1 DA:1875,3 DA:1888,2 DA:1889,2 DA:1890,4 DA:1891,4 DA:1892,12 DA:1893,8 DA:1828,0 DA:1830,1 DA:1845,1 DA:1846,1 DA:1849,1 DA:1850,3 DA:1862,1 DA:1863,1 DA:1866,0 DA:1867,0 DA:1868,0 DA:1870,0 DA:1874,0 DA:1875,0 DA:1876,0 DA:1878,0 DA:1882,0 DA:1884,0 DA:1885,0 DA:1892,1 DA:1894,2 DA:1895,1 DA:1896,3 DA:1897,1 DA:1900,1 DA:1902,1 DA:1903,8 LF:671 DA:1896,1 DA:1898,3 DA:1911,2 DA:1912,2 DA:1913,4 DA:1914,4 DA:1915,12 DA:1916,8 DA:1918,1 DA:1919,3 DA:1920,1 DA:1923,1 DA:1925,1 DA:1926,8 LF:686 LH:263 end_of_record
pipe-lib/src/lib.rs +37 −14 Original line number Diff line number Diff line Loading @@ -543,9 +543,14 @@ impl Config { | ModuleUri::Url(value) if !options.offline => match value.scheme() { | Scheme::HTTP | Scheme::HTTPS | Scheme::SSH => { let url = value.to_string(); // TODO: Filter URL using whitelist // TODO: Check that URL exists if ModuleUri::is_allowed(value) { debug!(module = module.name, url, "=> {} Remote binary", Label::found()); info!(module = module.name, url, "=> {} Remote binary URL is on whitelist", Label::pass()); } else { error!(module = module.name, url, "=> {} Not on whitelist", Label::rejected()); std::process::exit(exitcode::NOPERM); } // TODO: Check that URL exists if !options.dry_run { let output = download_binary(url.clone(), options.root.clone()); if !options.skip_verify_checksum { Loading @@ -557,7 +562,9 @@ impl Config { | Some(value) if value == &calculated_checksum => { info!(module = module.name, url, "=> {} Checksum verified", Label::pass()); if let Ok(path) = output { if !make_executable(&path) { if make_executable(&path) { info!(module = module.name, url, "=> {} Downloaded binary is executable", Label::pass()); } else { error!( module = module.name, url, Loading @@ -566,8 +573,6 @@ impl Config { Label::fail() ); std::process::exit(exitcode::USAGE); } else { info!(module = module.name, url, "=> {} Downloaded binary is executable", Label::pass()); } } } Loading Loading @@ -606,11 +611,11 @@ impl Config { | Ok(true) => { let path = value.into_os_string().into_string().unwrap(); debug!(module = module.name, path, "=> {} Local binary", Label::found()); if !make_executable(&PathBuf::from(path.clone())) { if make_executable(&PathBuf::from(path.clone())) { info!(module = module.name, path, "=> {} Binary is executable", Label::pass()); } else { error!(module = module.name, path, "=> {} Binary is not executable", Label::fail()); std::process::exit(exitcode::USAGE); } else { info!(module = module.name, path, "=> {} Binary is executable", Label::pass()); } } | _ => { Loading @@ -625,8 +630,14 @@ impl Config { | ModuleLanguage::Generic => match ModuleUri::from(uri) { | ModuleUri::Url(value) if !options.offline => match value.scheme() { | Scheme::HTTP | Scheme::HTTPS | Scheme::SSH => { debug!(uri, "=> {} Remote script repository", Label::found()); // TODO: Filter URL using whitelist let url = value.to_string(); if ModuleUri::is_allowed(value) { debug!(module = module.name, url, "=> {} Remote script repository", Label::found()); info!(module = module.name, url, "=> {} URL is on whitelist", Label::pass()); } else { error!(module = module.name, url, "=> {} Not on whitelist", Label::rejected()); std::process::exit(exitcode::NOPERM); } // TODO: Check that URL exists // TODO: Git clone module // TODO: Check script repository with is_valid_pipe_module_python Loading @@ -651,8 +662,20 @@ impl Config { | ModuleLanguage::Python => match ModuleUri::from(uri) { | ModuleUri::Url(value) if !options.offline => match value.scheme() { | Scheme::HTTP | Scheme::HTTPS | Scheme::SSH => { debug!(uri, "=> {} Remote {} script repository", Label::found(), programming_language); // TODO: Filter URL using whitelist let url = value.to_string(); if ModuleUri::is_allowed(value) { debug!( module = module.name, url, "=> {} Remote {} script repository", Label::found(), programming_language ); info!(module = module.name, url, "=> {} URL is on whitelist", Label::pass()); } else { error!(module = module.name, url, "=> {} Not on whitelist", Label::rejected()); std::process::exit(exitcode::NOPERM); } // TODO: Check that URL exists if ModuleUri::from(uri).test() { info!(module = module.name, uri, "=> {}", Label::found()); Loading Loading @@ -1040,8 +1063,8 @@ impl Label { "READ".style(style) } pub fn rejected() -> Styled<&'static &'static str> { let style = Style::new().white().on_red(); " REJECTED ".style(style) let style = Style::new().red().on_default_color(); "🛑 REJECTED ".style(style) } pub fn run() -> Styled<&'static &'static str> { let style = Style::new().black().on_yellow(); Loading