From bc73df7a91c7deea68c627f31f64b56b55c53ac9 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Fri, 10 Oct 2025 15:40:02 +0200 Subject: [PATCH 1/4] test: variant files --- .env.ci | 5 + scripts/download-artifacts.py | 4 + .../linux-64/package-0.1.0-hb0f4dca_0.conda | Bin 1247 -> 1248 bytes .../linux-64/package-0.2.0-hb0f4dca_0.conda | Bin 1249 -> 1250 bytes .../linux-64/package-0.3.0-hb0f4dca_0.conda | Bin 0 -> 1249 bytes .../linux-64/package2-0.1.0-hb0f4dca_0.conda | Bin 1172 -> 1172 bytes .../linux-64/package2-0.2.0-hb0f4dca_0.conda | Bin 1170 -> 1172 bytes .../linux-64/package2-0.3.0-hb0f4dca_0.conda | Bin 0 -> 1173 bytes .../linux-64/package3-0.1.0-abc.conda | Bin 1139 -> 1187 bytes .../linux-64/package3-0.2.0-abc.conda | Bin 1138 -> 1188 bytes .../linux-64/package3-0.3.0-abc.conda | Bin 0 -> 1188 bytes .../linux-64/package4-0.1.0-hb0f4dca_0.conda | Bin 1186 -> 1188 bytes .../linux-64/package4-0.2.0-hb0f4dca_0.conda | Bin 1187 -> 1187 bytes .../linux-64/package4-0.3.0-hb0f4dca_0.conda | Bin 0 -> 1189 bytes .../linux-64/repodata.json | 2 +- .../noarch/repodata.json | 2 +- .../osx-64/package-0.1.0-h0dc7051_0.conda | Bin 1238 -> 1240 bytes .../osx-64/package-0.2.0-h0dc7051_0.conda | Bin 1242 -> 1241 bytes .../osx-64/package-0.3.0-h0dc7051_0.conda | Bin 0 -> 1241 bytes .../osx-64/package2-0.1.0-h0dc7051_0.conda | Bin 1171 -> 1169 bytes .../osx-64/package2-0.2.0-h0dc7051_0.conda | Bin 1169 -> 1169 bytes .../osx-64/package2-0.3.0-h0dc7051_0.conda | Bin 0 -> 1172 bytes .../osx-64/package3-0.1.0-abc.conda | Bin 1134 -> 1184 bytes .../osx-64/package3-0.2.0-abc.conda | Bin 1137 -> 1184 bytes .../osx-64/package3-0.3.0-abc.conda | Bin 0 -> 1185 bytes .../osx-64/package4-0.1.0-h0dc7051_0.conda | Bin 1185 -> 1188 bytes .../osx-64/package4-0.2.0-h0dc7051_0.conda | Bin 1185 -> 1187 bytes .../osx-64/package4-0.3.0-h0dc7051_0.conda | Bin 0 -> 1188 bytes .../osx-64/repodata.json | 2 +- .../osx-arm64/package-0.1.0-h60d57d3_0.conda | Bin 1247 -> 1248 bytes .../osx-arm64/package-0.2.0-h60d57d3_0.conda | Bin 1250 -> 1250 bytes .../osx-arm64/package-0.3.0-h60d57d3_0.conda | Bin 0 -> 1250 bytes .../osx-arm64/package2-0.1.0-h60d57d3_0.conda | Bin 1170 -> 1171 bytes .../osx-arm64/package2-0.2.0-h60d57d3_0.conda | Bin 1170 -> 1170 bytes .../osx-arm64/package2-0.3.0-h60d57d3_0.conda | Bin 0 -> 1170 bytes .../osx-arm64/package3-0.1.0-abc.conda | Bin 1136 -> 1186 bytes .../osx-arm64/package3-0.2.0-abc.conda | Bin 1138 -> 1187 bytes .../osx-arm64/package3-0.3.0-abc.conda | Bin 0 -> 1186 bytes .../osx-arm64/package4-0.1.0-h60d57d3_0.conda | Bin 1186 -> 1188 bytes .../osx-arm64/package4-0.2.0-h60d57d3_0.conda | Bin 1186 -> 1187 bytes .../osx-arm64/package4-0.3.0-h60d57d3_0.conda | Bin 0 -> 1187 bytes .../osx-arm64/repodata.json | 2 +- .../win-64/package-0.1.0-h9490d1a_0.conda | Bin 1243 -> 1242 bytes .../win-64/package-0.2.0-h9490d1a_0.conda | Bin 1242 -> 1243 bytes .../win-64/package-0.3.0-h9490d1a_0.conda | Bin 0 -> 1244 bytes .../win-64/package2-0.1.0-h9490d1a_0.conda | Bin 1174 -> 1173 bytes .../win-64/package2-0.2.0-h9490d1a_0.conda | Bin 1175 -> 1177 bytes .../win-64/package2-0.3.0-h9490d1a_0.conda | Bin 0 -> 1176 bytes .../win-64/package3-0.1.0-abc.conda | Bin 1142 -> 1184 bytes .../win-64/package3-0.2.0-abc.conda | Bin 1142 -> 1187 bytes .../win-64/package3-0.3.0-abc.conda | Bin 0 -> 1187 bytes .../win-64/package4-0.1.0-h9490d1a_0.conda | Bin 1190 -> 1189 bytes .../win-64/package4-0.2.0-h9490d1a_0.conda | Bin 1189 -> 1193 bytes .../win-64/package4-0.3.0-h9490d1a_0.conda | Bin 0 -> 1192 bytes .../win-64/repodata.json | 2 +- tests/data/channels/mappings.toml | 1 + .../multiple_versions_channel_1_010.yaml | 4 + .../multiple_versions_channel_1_020.yaml | 4 + .../multiple_versions_channel_1_030.yaml | 81 +++++++ .../corp-pinning/conda_build_config.yaml | 4 + .../pixi.toml | 32 +++ .../pyproject.toml | 12 ++ .../variant_conda_config_python/__init__.py | 3 + .../corp-pinning/conda_build_config.yaml | 4 + .../pixi.toml | 24 +++ .../recipe.yaml | 21 ++ .../corp-pinning/config.yaml | 6 + .../build-variant-files-python/pixi.toml | 32 +++ .../build-variant-files-python/pyproject.toml | 12 ++ .../src/variant_files_python/__init__.py | 3 + .../corp-pinning/config.yaml | 6 + .../pixi.toml | 24 +++ .../recipe.yaml | 21 ++ .../build-variant-manifest-python/pixi.toml | 32 +++ .../pyproject.toml | 15 ++ .../src/variant_manifest_python/__init__.py | 3 + .../pixi.toml | 24 +++ .../recipe.yaml | 21 ++ .../source-dependency/a/recipe.yaml | 2 +- .../source-dependency/b/recipe.yaml | 16 +- tests/integration_python/test_build.py | 43 ---- tests/integration_python/test_variants.py | 198 ++++++++++++++++++ 82 files changed, 610 insertions(+), 57 deletions(-) create mode 100644 .env.ci create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/linux-64/package-0.3.0-hb0f4dca_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/linux-64/package2-0.3.0-hb0f4dca_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/linux-64/package3-0.3.0-abc.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/linux-64/package4-0.3.0-hb0f4dca_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/osx-64/package-0.3.0-h0dc7051_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/osx-64/package2-0.3.0-h0dc7051_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/osx-64/package3-0.3.0-abc.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/osx-64/package4-0.3.0-h0dc7051_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package-0.3.0-h60d57d3_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package2-0.3.0-h60d57d3_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package3-0.3.0-abc.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package4-0.3.0-h60d57d3_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/win-64/package-0.3.0-h9490d1a_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/win-64/package2-0.3.0-h9490d1a_0.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/win-64/package3-0.3.0-abc.conda create mode 100644 tests/data/channels/channels/multiple_versions_channel_1/win-64/package4-0.3.0-h9490d1a_0.conda create mode 100644 tests/data/channels/recipes/multiple_versions_channel_1_030.yaml create mode 100644 tests/data/pixi_build/build-variant-conda-config-python/corp-pinning/conda_build_config.yaml create mode 100644 tests/data/pixi_build/build-variant-conda-config-python/pixi.toml create mode 100644 tests/data/pixi_build/build-variant-conda-config-python/pyproject.toml create mode 100644 tests/data/pixi_build/build-variant-conda-config-python/src/variant_conda_config_python/__init__.py create mode 100644 tests/data/pixi_build/build-variant-conda-config-rattler-build/corp-pinning/conda_build_config.yaml create mode 100644 tests/data/pixi_build/build-variant-conda-config-rattler-build/pixi.toml create mode 100644 tests/data/pixi_build/build-variant-conda-config-rattler-build/recipe.yaml create mode 100644 tests/data/pixi_build/build-variant-files-python/corp-pinning/config.yaml create mode 100644 tests/data/pixi_build/build-variant-files-python/pixi.toml create mode 100644 tests/data/pixi_build/build-variant-files-python/pyproject.toml create mode 100644 tests/data/pixi_build/build-variant-files-python/src/variant_files_python/__init__.py create mode 100644 tests/data/pixi_build/build-variant-files-rattler-build/corp-pinning/config.yaml create mode 100644 tests/data/pixi_build/build-variant-files-rattler-build/pixi.toml create mode 100644 tests/data/pixi_build/build-variant-files-rattler-build/recipe.yaml create mode 100644 tests/data/pixi_build/build-variant-manifest-python/pixi.toml create mode 100644 tests/data/pixi_build/build-variant-manifest-python/pyproject.toml create mode 100644 tests/data/pixi_build/build-variant-manifest-python/src/variant_manifest_python/__init__.py create mode 100644 tests/data/pixi_build/build-variant-manifest-rattler-build/pixi.toml create mode 100644 tests/data/pixi_build/build-variant-manifest-rattler-build/recipe.yaml create mode 100644 tests/integration_python/test_variants.py diff --git a/.env.ci b/.env.ci new file mode 100644 index 0000000..b7b146a --- /dev/null +++ b/.env.ci @@ -0,0 +1,5 @@ + # Test with specific PR from pixi repository + PIXI_PR_NUMBER="4665" + + # Test with specific PR from pixi-build-backends repository + BUILD_BACKENDS_PR_NUMBER="400" diff --git a/scripts/download-artifacts.py b/scripts/download-artifacts.py index 6eb8183..d9b14ea 100644 --- a/scripts/download-artifacts.py +++ b/scripts/download-artifacts.py @@ -285,6 +285,7 @@ def download_github_artifact( # Get the target_artifact target_artifact = None pr = None + selected_run = None if run_id: # Use specific run ID - no need to find workflow first @@ -344,6 +345,9 @@ def download_github_artifact( if target_artifact: break + if selected_run is None: + raise ValueError("Could not find a suitable workflow run") + console.print(f"[blue]Selected run: {selected_run.id} from {selected_run.created_at}") if not target_artifact: diff --git a/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package-0.1.0-hb0f4dca_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package-0.1.0-hb0f4dca_0.conda index 8ff26c7ee6d7f8a8f116648983262bdcf625b5e8..ce770c65a4733125a9562ce60dab4bcfba72015b 100644 GIT binary patch delta 721 zcmcc5`GAuzz?+#xmjMK>=ekEv4`rK+TR z?TdWX^V6#z$$U|ouw8vdnv@3t2eK_doaj&Ef4iDU<)@ zPTs|&Q!nbPP|)Mk+jE6ivgbJep7YzU8k#W#x>xWuNqMFlF5x-CAj2@_aLH?d6GDqi z8*>vFS_}&e^A<3^dA8%}hn$H2iw^1?;Qk?Y(Ntr{*0mg>&F>6K6xMJo5uC=zutS_J zp>gwSiToIK*#)fzOV}?is+Bx==zGI$o`l}dmv|D6sxJsXl-T^?tB&)E3+E!(9n`+= zGJnS~Me6|1(=zwcI7ERxw3( z3WIPkBXfW^Ba<#OB9%?v%j^wLW|IY2oUCE#3r3^s0HuxpP@u{n0!@_+3`-g}31Ng&Ap delta 721 zcmaFBd7qOnz?+#xmjMK})U-!U+`ky2ZGLFBPp_oq7@`(yp< zOZLL86F!#yyB{3&{<3_^Wy9zdIgFFp7;V5-7R9BDP4;5+XZ$vK7NbhN2SY^S7h_MB z0uRmw9N)MEE`I*W9{+i>00%4Y+p{ZJ43;!q>OK2&rt4Cc1{F=${a=+ns_Z*Dt@_cQ z%AP#c^V6#z$$U|SnBp^aQCtge zR+{~inhk98OW)@#yWj!YkQxoPW>x?N<%W7y{iZSRLPbrW-EdIl>^rFy(N`Yk?C& zi%T0V4GtWZ*dbwlfuXGUPEm!~n)-_g;tyDBx?f0%+_@Fj(&bn#VI>g8a)_guf#D7} z^M(U6weCrO_hdIvR`oSpx^KZJg_5kD8^SxR6M2GX zJ2nX1%sqRMdD#`q{}23w+2?+HJ@LB_SkubLB8$o1jHdMpOke{UV6?_o{l5te;#&n6 z+GYpII&{n3ICl6#yUe1vttypsk|olNxn^Ja*Pkh|o2Sl)!HdCzf%`verApfrA=3kv z1r2lV>;Kp-Yb_!0{ESQ%!x7!rwhu<{~b6P%`SUsyIah|!|HGBcl_KdjdWRgH7*%&*Ki&i-O|7FTgs^!aNh!T+}Ftlqt8 zquTAQ=e=^Ko_-V))>wFMy8kYz#NVyz+tT#D{75XZx>3JNYn5D&-lwJi7f)Njd9BQ( zeZwJJjp;T1ek(RC|9P%(F>~j_19OUfKJzfX?_uIGG%Npal%}}v^SvM0*Rr&y%shE> zLrvMO=~G+dyUowD-M?3*U2~w>@{Z)xJl{g+$C96?d|iBa%~RIry^Q_}4P8FHJy&=o zdyez(Iluj?p&3J9dwm60QHmhBS0$HZcZxGcxHi tBU0kz{mkC*q&QiKB@U6qDp;J=U`Y!`2Y9oxff5}v5XvwzFl=B3@c?TYHmCpq delta 737 zcmaFF`H+(@z?+#xmjMK}*0e`Wn3l{E`oXXG^60mEhrG0Ry7lX&7pfAz-LjGbgIXl%a%s>7j>{HE7 z^>g)({+|{LH}9=@Av{m@afSPhORZtzAG>~CD7CBBTJa(%eWGaizNqaMsX5K!CJSUj z7UZl53GnH?=X!02S@P2b3pSqE5x8=}oEMSb%qMKpSNgT~UXrd^yHOZZ!KwOf9=Fz{ zbbF?)Uj6A>hWMPg$IZq2N;U=lxM3VMu`qe@{t3z2E%iMsgF<>XIG%meK863rfzQpQ zC6XI-*=Aao>*<~Nxpuv9L-WC{*QB1yGVh%(WZ`gPR_*Sv+UtJV4}UM&a!Gx*2<;tnI~R-R~Dd}{M7El+=7{t>~hLC9=*SX(O+SL*Ah3kS8S3! z$NBf1-+tB5j3MxNMLk#3uSw^UJS009Ef_S~UtUw3pt@}90h0~(Yc5`8V#r(Y=-!9s zyC(~uKb*PkpKJ5oX7LZYi?Ra>vSS2o*zP92aK0hTq0Ga?P@vCqfGK^YMShHmY(tB| z684LWY9$XI`rdGxC!zQAC7y(%>K6_zY<}@o#(BntbvKw5qFLwlSTh7WADy}I&bt+P zI#XMC9JvG(J~2Gu+8!WU$#7eeS^f}%GV9g{g3%r_8JDye8Kd~~9Xd|xG6r}vGU+lS s65`|o%--;nI9Zq_4w1qtS)A2iDGNpic(byB(i}4o$}lo8tY-%C01M4K&j0`b diff --git a/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package-0.3.0-hb0f4dca_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package-0.3.0-hb0f4dca_0.conda new file mode 100644 index 0000000000000000000000000000000000000000..3c44ef91cc27905b533a7854e8499caa46d72b6f GIT binary patch literal 1249 zcmWIWW@gc40D&91?$M_iQuY2r0WX6HLvCtGVoG93qFz>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIfJo$!cB+PIXpy5D0x&?{J*@@|?x(0g2 zdIq`~Nd{>qDancP26`olMS4}mB_KQ7pmxG&jjj5B6BxLkGBYF{6%?FM%aCIka{rxN z>^+X0+xp^M>4r=9E%~HSlC^U~c!zZ&Pw;HV27#NoXAd?nyJGqO!JK7$R&TE}>i)Hl zSZ%vP!7F^>;bWJ?g%lnbn7?NH;Tm+%l1Xa~@fBK(^eC zw$y)pO~F5(ZsR!;8tS_&yu?^p?ENamJM}&c-V7cL+>7UXDm6HJF}Q9BZ|InJ-u}ld zc`pSKlP%_pg$_*M@-jDjp1#71lfg5ntM0Yyqs~irCT|tlek175+9yAY{O2^!d*ZIn zR{imex{di`zI%e}iWg3G-P2^3GWYyEF0D2=6Jp(Kg4`D` z^@oV%q2u!|cJ<7b+S@8qt(anSb03x}WYlCCXp?hV|2CU#ZKk2i1Q(=SE-_0ZmX?wtB` z?}*nq6Ly)KCo624b+>P4%AOnS+l1mIpC3*W-~ErtPa&blXJXG4Udf*0{Cm!CziMd4 z5a?dP-?YlJ-CzmF5e9jNDW6MT*PIYqT*{c7FxxV&dOQuR=K?pcU;KZ$l{RpN;m%wqef_#aD;L$!2@tNXUTzZ$>6vX51MTnpGH=ekEv+fJ~@SH=YF!k zoo)4EOFX;I*Z&D?zcIMJ)GE0V@oO?GqXyW@DYIr@o@~l!R{w+%VkwM<*eQOMkKvlQ zr<_B#+>K+0-#YUJuD>=WUwoY0>)OuKc<#=`?-K3>O9W5NTlCYr zKIJ2?@HD;s3(x;5c~QKaGopWDPr^o#L`&Z~w&duLuJ=_w35E}U>$pY)^u77#K54hy zr}t0q#gynh)Rz6r_sN6DOEsI5H#wo&UHwCC#y>5?Z80C_dawI7r|g^eY0+gCee2GJ zUVNai>w)b-1~)aw{iUt%&P_k(xxMO#%jck0x!v_jYhu(zIu~A;Q_TN`$2C9Jd~$<( zNvZL&BjMMM)%tENaA3_p#&$RRo_l*in8(cqzf)SNmnBOs+&X2GAzf{*`&eTxqnkoQ zSI8FjH|2{}MqqMur(;YzLUOF#55oJT`mDAkuU}&ZYaF5mW2?rrSIX zy`O`43R-<1w8>oJn4Qk7#Lu*##a5m2@LGI%nVMh zf`Suj8FDN`?!TKi#hdB&H}5qfeA|{-U67h5@oAykcZVabr^1eW5YRgv@q2gFi5d0& z>+9BT2{T%E>HqGa*MDtJEKA-NaC0&nqXyW<^p8*XPBvpStAEM}u@go^tQ5b?$M8(t zQ!?N>^B&iUdAaDo5zb5dlulku-BY@T<6>@fbYQ}xrHO&{+SOIlw!EKs zu30T4E!tlAKPLyXyFgRM6XA`={rB9ub?DafGq3wMe(m+Q(Rv#EU*}YkSW)tfG`zt^0YC{yfR^+RK-kbr}WamYi8`?xb-{oXbsN zg4Yobu2+nbANcp2Uv715P2WcmmZz$77xG;&vkF*YB`%e6HXtzN&9)4m?$hy7)47@d zv~0=_s(2lzSkK0`tNC*K1|W}qaGN`dEv~}rTm)g?$o^iVb zgY>hd@(;ND9(2fD<1jhT(XzR0-D@7v;->cuUQ?6WigqvFwJ}7?)bYOZIC&z`V3T7vtJk9`bMkZZmT~2W9gVNyS0%mV`Vw`-K s+1VPF3Sl%<3tR^%4gH4#H3kuA+GSu^(x^PykwupimZY9eE@zPi0EaF$cmMzZ diff --git a/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package2-0.2.0-hb0f4dca_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package2-0.2.0-hb0f4dca_0.conda index 737072119f2d969805f35ce20d4b692bdbaf7d53..3ee2f5e6560f8e8429b8836f898388eda82a1f41 100644 GIT binary patch delta 793 zcmbQlIfauiz?+#xmjMKB7#Lu*##a5m2@LGI%nVMh zf`Suj8FDN`?!TKi#hdB&H}5qfeA|{-U67h5^J$^mcZVabr^1eW5YRgv@w+%TT9mL+csxH*}PQ3Gt_4wYp+~?1a$}E5+~fF^J9Z zlnl7e{KsdlKp;o$+9k7R29}?B>MLesSp3e=iNTq{k)d2l!|(T>Be&Ohx?X&d`#$T` zfr)3Y+&KGFJJUHEMC*{Po;$keRmIiQJ#Bjv)bY7sXe|o&-7eg_V)(cTkpdC z>Y+W(mNlm(R(%OSAYl{4wwdGKBwvAFQ}-Di)A?S`Y#x##P6Onv$+de(s{Gr zRk^#0#b?DzxEOAGvwffBJ(+ER%U>@2H>qy-&Gh=|XP@MW9DFQsyfEQrbIZM7dCWp? zPj^W7Ea+J%{b;@XMVC!IYr{5%eN5RD{N%gfZxKVG!)o7_GVc`HYZv$|X!|^!j#w3b zSA_{)$K1GHF-m^m-*bMs)v+~wA4OQ6PVNg}Pmq??2$;*wvMFtahEdsXlVwMr9$0D- z&&K>tL~oZfN4;6Yy9Zws-*C1FvN1Bu5Mw*Qw1sh9)8xYGB@Dt%7vzGv=cTr^zGvJn z%OL%1sl)@W*#``ZER=KR$#R^&wQ-$s=o*&$jB~WE^E@qcFHK&llEM+xz%Y?rA$&(` z$P>mKb2h6M1~;ZFP0l&Gg&%_VGBuqr(_j!5W?&BRW@OT3*5w4pJ}3=N&SUn5C&tMK znVoH6sSrj(wZL_N($Ie>P-75*rd3JTemJ@l|d~#c+o%_lD z=KA(!QNipwU;ihp{l?(>Qmf=f#IMP$j2d7oZ|*&!H`$cYto{)r#8Mayu~YmgAA^{L zr)0o&=084b1p+y0*DjeoGw^tfnt9}oRbE%zofw=M92m-#H2i-5IeL4IXWPXWx$nKW z8kJ3glFgs5SJC8X~8z)Azz4pOyCPfmAW0wQ^MFcEnAyZ9`&WoELEmH z@LKALh0}HB+N{!P+nq6Ci&N>(B^OS3J=&-BdAC`zr}oEE$>gAnlw+Bf>vEdEE!}b7 z$Wm>Q!oF0V&|lgKJaUd4O9cN-T6^-3SG;8MwBNfMrHzdGR8*#V3dX*@zeIfVhc$_3 zW7jJkUvqh7@G6<;Z_)R8^7(GBxcoV&-gE!mH=FCZd!OVTd>p{yxZ%w~r~KOQjJ%7R z?(n(=9J|2#@p6CKRGs9Np=(0-_?312sY|L?bGOaes;_u*>a(wzM&-M{?ouh6XydA| z!0U(`*DFTJ5Bz)1FSk0jr0=5?%TX2Cg?tChtO6ETiF2f!4G2tm^DWb-`*fps;XWR< zJDL$DtpYg=^>+`xbiN^cLg@`7gN8WU0j4dC>+bC>oLbVr<(R?0+V!*1p+nyrZu2$p zeh%U(X!U&{VL3<8>^xsf>f4C#K4068l`|~sGIHK|H}G!6)CQhNE&+p24Bxo6>xf1+ z==L|Z2^{d49#zn>R)w!7v$R2CZ5z8l(jo5vZ$>6vW>7+8gQUdC1)I7Kjc|0{RaHY78RKl*_=dq)}zEBa5yYEIq;K0B=^HT?`D&Kqv=Hb8*Zd9ssT5 BG?4%R diff --git a/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package2-0.3.0-hb0f4dca_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package2-0.3.0-hb0f4dca_0.conda new file mode 100644 index 0000000000000000000000000000000000000000..b06b125d505b81a2c0d8727ce4dced435d148309 GIT binary patch literal 1173 zcmWIWW@gc40D&91?$M_iQuY2r0WX6HLvCtGVoG93qFz>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIf{K@p@2{6M|frbP1=oTa5#igm#Oi|7JcUmS-M%{4@LEgHFt-H&0V7K2wz%v-E%Y z(rdpfC-@%ES-6RnOF_Z#y2bUI>t!ptMY0YG+*Yx3uu{qnVDP^DiwV^i?e|3`VZKlU z`XVzgEuT1VJY$6T14cuw+D0MfB=|;1V8Rs?@o<%?J zcY7ZStGU_S=+c^hWLkq~Wz{$LDR;I_s5cg$-F;58MsgI{Yu0 z_XVEK*E~9nYu{wgZ8pmn{uTLrM73}E>dmee>n!i>xo+W;Gv!Nk^vicOuh)D@;;vud zANg{lKI7>!Hjcy#bBZT^>2k@>EuY-rR#K+D>`3^nqf7r;FlTPQ!WF%hr*`6{XMeK$ z4qdnS?a=R?nv}hz^Zea8ALhC*JY3_dFv07X8`mpF$q)Q{&M&t*wx;i+2+PySeF5wV z(y|%>bGcbIrLE8~D*J7+?C8@2OD*ErnBR%$?Q-TYYk2qIi{cy37C|;fh8bdP2bi`n zu4|fHIK6~HxaopiQ1`slme%)-+hrM~pDmSmz%~1TVUdM$&OBL;)3-LRGY(zDa-VUI z)^(nzW$vZPD^*fBf*KemvMYq|XbpM7m}Aan)xzM$bfw8TN4M}p@Lr~-6J{C=!om#9 z0p5&Ey3Dw<7&L7&ENKL>2xd5RM_8i_Ox5J)fdFq-Hjr7& NKqv<^DUlh(0|3phtdIZz literal 0 HcmV?d00001 diff --git a/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package3-0.1.0-abc.conda b/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package3-0.1.0-abc.conda index e9bc7a8bc0b496cc9d999a492262c3f4e069e4e2..d7be0e154e11ec6cad87ad094a84976167e21085 100644 GIT binary patch delta 822 zcmey&v6z!Dz?+#xmjMK>=ekEv!D^1MTODX`%FfhPqjjj5B6ByV{nHii~ z1qCP6GUQl>+fJ~@?X=YF!k zoo)4EOFX;I*Z&D?zbUxB)GE0V@oVBg4X}-sYnH5?T+R9Cl~Kytt&|@WD}cu zPB5Bp^0$x|@_}2E5C1zCRXw4x_tH+MKZ;K#vaG9oW?!10S+jQGr-N#bmDkSxWP3!= z%KdyDM{rM^_*~u9Z(L6-{3nv#6+CO6(S3`LDfNd?v8woJ?;WMfa(@pU4N0m} z+E{)TT>aScVh9Bz|Ob@fE9e`m5y3}{-2NN=Nk3|sp~PP-|B@P50F#}j56k6kY$MdE*9L+nP4De z{fA)!mnhF8E1`yoySJ#dw23@ODhdwpW@OT3Mx@%wvCQ7^WIK5SvyBQYy~1d89pKa^ oz#_&W%gDfxnU|J7u})qMmf~P^fHx}}C@nGrp#V@_Ei;G*0GZuGr~m)} delta 770 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 literal 0 HcmV?d00001 diff --git a/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package4-0.1.0-hb0f4dca_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package4-0.1.0-hb0f4dca_0.conda index 91eb330d90518f4ebf18e9c5630a4d612629b22c..155a2600d39f7f0ca0d764da01b454f7a1c237c2 100644 GIT binary patch delta 699 zcmZ3)xrCE1z?+#xmjMK>=ekEv+fJ~@qP=YF!k zoo)4EOFX;I*Z&D?zd5+R)GE0V@r!9PE2FwF$j;Op=5PO@K#f6Uav+QKY3)F{2Aw1#Y*LFUAum5?#n0an=W1vPWkA|eM##)N}VIP1`@`@`@ej))c3Is$@E}pwp1!`iaTwt+p%ZzCZKZ@8ZsB=SWN+NfSt5j|aXUx_g+)J-5xo~ZllMHkH zro%5C-#qGjedxfUd=Z`t+!xp+zCKF)vxIqufcP>G)&|D~=X(l%+ddFu-f?742{Xqf zwG&Sr3U#0JW;h;EI<)4%S03jb7tSS|Uw2RKF`vWAAmb^wZC6QqtGcvVuyTl0Hk7qS z$GM6noHpFxoN>UzLAT<_Hz9WQlV!XP*P59O425D10=yZSbeR$9X>uL2H#|X2zR2us e4NFNd8eIokDuAXx28Jb#DwF+LeAx<^K|%n%CMX5~ delta 682 zcmZ3&xrmc5z?+#xmjMK})U-!U z2i^X4YnSodKMrQIs+x56Wjfw^9kXO|;Ka*|pIZ0d%3V>M`Tj!g+-M`MPnR~lNY^g@ zH*L$G)TM4mOVj3BPd+a!z~slhx;RJx*JH-WOc5ZmIJ6#J^vPuNl7EdN#0z z^-Q*p_1eh+ObYc=9S>iLT3wpj|Ka|7|G5I!|JuGSdH1H@UV72aJeBM!8}_E}#TizU zeb?7bcyYtSNiet9Bj5Y^UNff+ts8pZ9lP40#p|ii(AClF6TvTef`8BXiLj-#*I#bmpfn*ak^6zU z7|#LL4CXmi9}V&@F=`xX)pTKW5X>-F-tpJ2U^Qb5lm1zTrazoU)&X9pE19DNHg*_j z7ucQ`kh&%K=H{!XDR&sBXyvsP?OwdgFx1HCiKfGW6U;ZX?_3H^VaiG8N#Wp>;9SAl ze3JTemJ@l|d~zG6p8LsO zKg;UHmUwoZum2O)esgersa0|#;uq6oHb!-@oxVmJ&rddGG^_v22(cALLo5~d}Jjk&J0crz8~5S99;Bg*Q2jN zAqouzQ;V-eI3)xezI6Y!U~Z2pUyI>s<9!p{ByRL>$zD{w?&VQM@7;MSZp$WmC$>z| zug}`mU=$;L_LpUB__mU$#S7CzRI7a*x_eUQxF!d5uXyUMU-0qkEwPyg9_nuq zD!Ivf>Y4ftHruaT+&Hjq-BiJE9F;1p$0kjPoab&)xHd%hf7isN4{qH|sS$L)x!OB2 zXD`#SqnYY%&m*P6edm4jH;dkOj@$XI`u?>xOWB$0+5SJ^d=%9znVFze(F`$|1RA4nA!jTLCU<#Hdob`zW-?-CH~#ySfr%; z-N*C#WN+NfSt5j|a zXUx_g+)J-5xln&?my-G)&|D~ z=X(l%+ddFu-f?742{XqfwG&Sr3U#0JW;h;EI<)4%S03jb7tSS|Uw2RKF`vWAAmb^w zZC6QqtGcvVuyTl0Hk7qS$GM6noHpFxoN>UzLAT<_Hz9WQtI-M!;*tDZ2ac2+4De=T z(q%@Z&B^u5-tfdZ`4Y3UH7r%aXmlN*6!jkp)EGpdX_P09z$FfhPqjjj5B6ByWanHij1 z1qCP6GUQl>+)-us9M-?k-I7o_INd|K%C-Qh^-t;{@X77+9#KC*)V!V4&!8YMs={2ch_6Ynry~sR{w<&VkwM<*eM>$&#+9w zTh3v%&5dJo8zaiJuer*3_AQRSEL!%rQ}&72rq7#taLE1e%C1lGlVtkT@2 z!@sVmPs*F)O=iTeYTHG<8;>*^q*Wdhztl1L-OfB0v&+81vWK?3c1xPl8^fhMr6#cc zviPZj+_S$dW5u&hWcIer3!M7Klu_5qgG;Q}R(H{~a^r%JUvG(}CKSeMn||AJauLtX zrCg`#H`tgTv%PU(-MUt#H-eu$xO!9>CsoQlJhC-t>mO~mwrSbv%~79~`Zk46-*ls@ zwdLK(>l>4EVoWQK+272$X{G;X%ltpvK24G1k*NREtiB@rYu(qaH-$YL1r%E@J>g+Z z|8vu^pRF#<=S9>D>2J%G6P}5<mB*K=`ez|>v(uBA~?g!>#JO@}anCDb|G|0QesBxrK(}mGNFvDDV z$6vdG)r>Jr`ezxM{%{&u2Y8*XWR4Qp*kPbuV0&Ib>XzV}o3Eax++m!emDg6Zd+{#A zP$Q!!nhpm}FyGL=b15{1DJPvLg@aRqa|LVvjj%@tCWLWwNGv$|fvIK26`=rcMkZZm zMB1EO&+H9PoRcpxJ6pq2C5%Sb0ZLN;p+Jp61e%r^7?w0DPYz(wRfDB47#-lv$_7%z O41{vPRG7~U;sF4_jXdT6 diff --git a/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package4-0.3.0-hb0f4dca_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/linux-64/package4-0.3.0-hb0f4dca_0.conda new file mode 100644 index 0000000000000000000000000000000000000000..b5fe75f3c5aade52c2b3471f3fec4f1901f1b6d2 GIT binary patch literal 1189 zcmWIWW@gc40D&91?$M_iQuY2r0WX6HLvCtGVoG93qFz>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIf{Qa3l`7py(frbP1=oTa5#igm#Oi|7JcUmS-M%{4@LIgHFt-H&0V7K2wz%v-E%Y z(reXK6MT>7EZoG(rJ!JV-QxPq^|BS+B3TCoZmZZiSSe)(FnC}7#f0h$mUP$mFkh$v zeUX`$mQS2FzA-}l0iz+_5KrZ2NW0-B=djx5#<97L5oOxpuD(-_${ellOZA-k>VIiO z>5)cWX9g!AY}((*tXf%iGo2AQTZI>6~M!vuMd~*;&v2F+ZJc`*L1Q?x_m9Tk=mPN?h}bV6HDwN~)BE&p&U4 z-OWFjZ*P-vW9?k{;9hmW6CT(6zqik}*X)-pNweACc-MMa<)z#A|Nqc?Y;vsiP?Tcp zyMxP)rO#Wqw((v>xa7?pQq!#$nBP-n^HNCY>gn}aASZc(f6saK(wLJxh*GGvvsol5Pk5*uW@a1s|8z1`{m{vM`f?KHn!f^kXRtT zfY;#F(ZfGH*$ou+d?s=+G&{_feE6;UfG%4>XXQ&afhE2ZPB%V^IwyUhsl&A;vhlTK zTfxG)2j|7^^*tur5VSN+V|#Uo`82N%oAewsQ;C&M!>8AromO9T9p&yM9Ky*5mx; zOReO;uSsO zIIjC`UGYq=`o>BAm2y88yiYC+kzK#G{>H|w8nPuFf(^|FC6l?2IkQ>(7P8ngP0#E3 zEBoi7dY1bWx4g`|r}Hdqw(&pb7Xe1AUvHn>YqoyZw2OOpv#XuUYCH4v)>5~esp}^e z{!6~f?5!}tYnj_*EAc6h`43#4{z^jH;fi4q)1hCU?gmR(k{IFzE*0)7*GcKT@auq# zL_lIak57+m4uiF2p1sZGYx~nS7=LKm=~}?cmHStl>F|Qzys;dwnIDQyV_?wWW~*s5 z4(T!1o6NVt$zoG;#=)&U0S}8GToPZhaV393tMq|q8@d}l&$ffoA(+Ku7&Dtdzy7u@@;7gSX`~}NU5#8AoAF)`}K;+|7>f2 zZM_h6;)m7$_nK?JzvSQaa)xfmw#jUaHeees1+adZ?8O*RKRZa)Ay@9so!Q@=HwVis z<9#LKDma~Q?W7m?4SAKH9pLw2@MiE}n0)cPhVTJKMF*ujt_>Bl&f8bap6#U|vSqXR zWPt+>T%P)Q=gwbg5pYrOP1o*q?r^H$a#(WtLW z!e7jrA|IXdW#`wPu#`O;&d0NFQddl#l~(m(9#@5}Rn^RVK zeP_?RsX>jMN#)Kj&Q#pv*!M}-=u-WgRo)58~WD9j+J_u^!5r z)R*AFd4yq~!ji`&?;}nKE&SSOYQS(vqJD;i^$muyqC0gJ%huMPO-O&hTHO6WO61nB zaF#a5@6x*juCZ^@=3!t65aap5l)gG5|Bjk$LrXzQ`<13j$;LzJ2U7Jsl7poWaG5)t zO%!*0XxVmQ;oO6_tV{1O&RBJd=XqYdZ1U=xlAf0v7$&kSgzrdQd4lQ2If)Do#-5TZ zO|A+#>V*ovtC^2vnA$W52*)u6cr!BTG9!}cu#EWn$U4V1u{flvl0w}ctQ0|4q%N$LOq diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-64/package-0.2.0-h0dc7051_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-64/package-0.2.0-h0dc7051_0.conda index ba22313268fc9e6302d95b3d88fae29a2622a4a4..9f376fa1bd53c75bf52dc452e1a8cdcacae77c8d 100644 GIT binary patch delta 711 zcmcb`d6Sbbz?+#xmjMKBR`oSpx^KZJg_5kD8^SxR6M2GX zJ2nX1%sqRMdD#`q{}23w+2?+HJ@LB_SkvF*JXAZT$3T14Efwc?XM7}EQY0>@AMp`<$nL}7&EUxpQP-d!!J^pUme28g)u!{V z&-UGFo0xFzKfef*tA~PF>HE){7b>vGDR6}Ui(qp(a7m(3W1`k_mq&_?%BLh6qjFhl zTI*epp4Xb&yXs?r$QS*N*F4R4PhL6~wtQ2+6Vv*2E6*5DoapXi*3UnGfe-(NsAKnd zxj1XSO;tA9e$JL|rCorU)oZQpTTLhjOp`o^ytt|Xm5FV=HZXVH3vH?L+b z{eCR^^-*>uU9I{x><1Tlc)fHISWfA&>q=<=DURw_Q_G5>+f z(_cwQJ6usLVmg#n@0o76ge8d~Uf@#Uu5z7}&J5iRyl>h~_e4!Nz#DQ$wrqp7;A{s)=#`0ZFZM(&3)$8HzGD6{9xj zD+m0j*>Qz6Gr@~F;v(A}nKD7~dHEcow4LUCCu=3TJf_L9mCtLHFnkxrN321y` zc+0hYOP5ar?=gqA2@Mk)q6#|Rs`AyXDt8cwWEV|Hnw1dX&B&z7j7Wf!cQAXyQ{ZH7 amN-PpDr9lygrz9)$$MGE*_Jbd(is40{40V0 delta 730 zcmcb~d5e=Tz?+#xmjMK}*0e`WiUJPCgZVbQVpG*{(;&rWP zu0vv%-TqHz?xm3|QMZ0aYDsDwywoxKvwf-NR11Nn%kEn>S{zcyJ|o+BuA--3vB$Xl ziEaH0kG?IAH#0=dZuE}>F;N*(n zHw)04CbVX`-}{Za>&{l#N<_TK&^*|*?8MFf3A1XsFTZ~pQG9M`&usOAQ~#fNyjqj9 z=49II)t|0qNY05|Zy>N3AnCTHNxr zMD$#8^V#|P#b>hoy=Kmt_+d^l#|z1>dutd46mrh(OI>4h-7ov$?C|YA?(ypDyx=!)EXQo-hoWo@3>w^QHI2q0J?46o`8GINY--Lp z7~{6#gJr=??n^hWux~iTn^1hhHKt;pVn{~%hHnnCEttvuj~=UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIfJo$!cB+PIXpy5D0x&?{J*@@|?x(0g2 zdIq`~1}Vwr2BwDb26`olMS4}mB_KQ7pmxG&jjj5B6BxLkGBYF{6%?FM%aCIka{rxN z>^+X0+xp^M>4r=9E%~HSlC^U~c!zZ&Pw;HV27#NoXAd?nyJGqO!JK7$R&TE}>i)Hl zSZ%vP!7F^>;bWJ?g%lnbn7?NH;Tm+%l1Xac2iGi9bcrY>!s0QoF3ZYo=g#`BjBQi@h1V8Qd9q|EYCqv`rB)-C$nOG4H(ok6H3o z5&|Y$$`?-x@?cpiYW6&Tg_mceil*!SuSy?NGT)ty>WWY1)KI( zJma4?yYQA(h5L?ktzq9jaQ>Q5YFDka;)GxNM9K7PpIgK7S25|UIar=Ja3i2|ft1u< z{WXc%$4(t|aJJVHoFZ&nzMm;+o2|?Kt5IRue5q$x{KGUJ+wU&iCUrAuV(6=kEhQ_t zy_TPD4yr5J==xt_~1?GaQOKy>Duz<-oWi=Vt2*-c=I+s{Ziy#5AD6@&Z$rLj(D9j zVVAkNvcjfWcl%DJoVmfiO(;(C`QbG2-Euw(1wB3!)k?*uJmx=edHO2}X@@I80p21_ljowm(eiD=Y5p@UUXwe0YNIVpFYT6-@Mm|@NHXSbwO&L#HWRB-yM#$o(eniK|t?x#P8~$6Eo`T zH&3!m+iSG$(*NB-um9SdSeCpk;O1mDMh&oy^Q5=6Pc~yTtAE4@u@go^tQ0@W$8c=A zheW{lKRzj8Tavij@64Q8RotTRVY1t@vx;nv3?Rtd61gLp>2;o^>%t$e|7#pdX!QDW z<(;g%UyH#91`fkNwQL>_76dUB-LvYgTspU5YOvRWYtBq}KM8#_)_#1b%8EZSzdpry z?Vi4A6PHy?YmMlC=CF-ps)VJ)zRyy(ugyJP#WQ=mQbfHNz)rar9AIU$qO22nQV4h6PTds1>sU2@)>RA~#`*>-FCiZ=}|K48u;qH=pJ@dKd zyB}Y@+3#x-^x0Hrt>4k`sM*`E8efb&zczi^<)Gg-zgK)SR9p7ba>ccqGa20!8oGKW zid-s*5u{@o8E`U8lT2?1yE)Vafv=tggWziAM!=hSJc zxyN*!05fy_-GiBmYxtK4vN1Bu5Mw*Qw1v@cZ^dJ?mkc6J7iC?z?-?<*o^LwMv*1{{ zBHNBbRt3_0k}cOa^C~*+Znh2H>vv4{K#=H+hj-qtNcJ(cSFV&2F!;pqjcfasE}w?C z#}2dy9PpSNRnYNPm9K79xr0C?yJ$kvtb_n>MkZZmP&#CTB*e-2%--;nIQbB>vo$OU z!f1pRhz?K!`VR$a3?k5k%fPUtQF*chi>?|hJ;CSzZ&sjP3=GUbCpF delta 792 zcmbQpIhm6$z?+#xmjMK})U-!U+fKDiCk&i!P6 zeSQ0~s9<)Tum2O)eq(Tbsa0|#;@4zWMh&o)UpMZEpKQu#R{xk0VkwM<*eQONkKx#K z4>^a`HaCuSHb#_bU!NrU(z@+o?zUC4d?x)bjVL|R$ZOBw$Y967=xqA8_UX&Hb5aux zrWzj!bBf?O9Ju$pV*A>u78ACvI&aZva_Qpia^($)-alm;-`+h@y>X)T!{$lCm;aO1Ii@!vW!Fp2@3To|F&tUDx)? zIQ!n5>{qwg4)H7YFWC@wXxc9p!ENmZk8X8@#cR6dP0Lo#o{@7tQN#XdRN>P1DTSe; zMt1#ct;-(mGF+x!^(4(ulllG{P3!JtEHZeALbNK{KCVU9<$lJp}oY^ zIITE0So)jg*G6WoieR%B^FGI!wQP2J#cZ`Q{MBYzs~8(t4h8x`YGo z`$PN%tkwlGe9|oI(j^W#TQ}P}@14_Q-4L{O#=|>rS0wA0nkzd>2`GGGc*3Z%rdfPg8p_19MebgMz~pGA0B=SnU1nfPWQQij$+^tl@U%Gj0JF0# zED^$JxE81mPzw4F1!@c;(4@=2u%uCikzuj}qqZ6>Nx|p7#Lu*##a5m2@LGI%nVMh zf`Suj8FDN`?!TKi#hdB&H}5qfeA|{-U67h5^J$^mcZVabr^1eW5YRgv@w+%TT9mL+csxH*}PQ3Gt_?cCgZlg${->K`#e?1a$}E5(oUF?+HZ>b%?s>Z*Dd&YX0cq`vTym9JH0BdX`M|x zFV*$vRG|j$GiNQU0T_T|!TOO#Cgna9Uioy^(-S=$oL}g0HW`9M=i$WOr4V z;C0N6>lLH;2mS+>ms=fM)Avz?<>}~iR%jTN{We*4^yz`67V&J% z??m)=Idhmb)W3W1Mez-1iy#{#!wfOD158^O*WKG&IK6~Hxap#75cj;)me%u((`6la z-#hUXw3a@ou!s?eJ8#y)`3JTemJ@l|d~#c+o%_lD z=KA(!QNipwU;ihp{l?(>Qmf=f#IMP$j2d7oFA1B@oovczR{xL@VkwM<*eSl3kKx;O z56OV*%zu2=3J6{{3c7Um%!*_^WwHEMXCzMcI5IdfI4}qq7T$WU|1V9~h{r9zIyi_! zs&S&!VM}{aPe%?H2Z0^;cQMP%D7*BMFT&l%^A(H0{C5s(uQjg8Tzz9M+untqJGlbt zuRT3Jzq3LpcDY_y=>>(=wQD|kHckvVVmp`f?}xKf*G&7dMUB-hZI0U81NqqQ3(LPu)qYddZ(d;Uwoc*aiI!{5!N1L4vg+DoPkpwb zyuwNM>#MD5#i#4C=Y-B)t#>7}Yx({~_Y1z=WOb`AvS_?~<*~(vHwT^ad%xGT8Crf| zTc{q+&$oI#f1vc;r`KlRnZ0A`Iu^^iCw8vO=3c+o&&T2}vfD-6=kKo239DV+F}f-& z@H*ng^@>sa1OI``%dL(r>H8?fa#TfjA>RQrtB3_wk{l^#0|Hate9QFdKHcbDxQ|Ee zj%I{Ot3VFJ-TH$soo@)APWSH#0sI3M|P%t{co0Scuj2Q^!fQc@a8N>qs DiEuMU diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-64/package2-0.3.0-h0dc7051_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-64/package2-0.3.0-h0dc7051_0.conda new file mode 100644 index 0000000000000000000000000000000000000000..b12bcdff28ded5910f4a91419eb5bda7382ed1fe GIT binary patch literal 1172 zcmWIWW@gc40D&91?$M_iQuY2r0WX6HLvCtGVoG93qFz>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIf{K@p@2{6M|frbP1=oTa5#igm#Oi|7JcUmS-M%{4@LEgHFt-H&0V7K2wz%v-E%Y z(rdpfC-@%ES-6RnOF_Z#y2bUI>t!ptMY0YG+*Yx3uu{qnVDP^DiwV^i8#ioU2=j#+ z&=;9`Y5Bx?<0&J=A21r?4e`5t4Bw`E$_1>nkyz>0#?+e25^NgTyJA(=yO+1jIvKW1 zmRwWCHImUgYGmjfy_eCEHK8me=U+bCdn|EL^p*4&&Dr|i3z_4z9`b%(>-9JH z+m_W%j3*o(oZH!1<=SMt?xyMj!Pv809&y^Q51s3q)wnrQqt#E_IDXFMx%KbVYI;`- zzS$9=w(GpwzA^!p`<230XY?6e6()EcbK`o&DE@)}z~$vu$JX?H6k&Nfxi5e{L0VQP zU@i~KrnD6rMrFTEmK}Y1V5vns8}mC6yW^0~0m*Ss=ihl?`MTGZ4xF JO-f(}@c6-@Mm|@NHXSbwO&L#HWRB-yM#$o(eniK|t?x#P8ifCuY>w zZ=PhCw%2IgrT@EwUd!5^SeCpk;3m_=f9hZx7jE5lVX`ixemyS}#7-Cuu~J%AfWhph zkDS43n;YABwVTv(kABvzJap*5qU~`P0|nx2f&u~?<3q=9k!f+euWsmF8}hR1t##l!ora^4>aiQH8oYRyey@i6&5JXScyxXo z2|K*R*7mRRsKT6!<-bo!(CWTHrz--9#tukKy?F{|Me`|O^+EqSND3%I|K zvHY#*V^|eivTe;K3B~qb!D}@AGOJG2JU-IXZzff*Eb7rVXwdQ8)`~R+`iC^5?+b4|5E_0v^gwgt4&$7wJ0H2_P0Z~7S8OPV>r#yyJeIk+Y+@Fl@}9lo*UGvahLF=gSOSzR zkH{>T@jG?DNd5bD2P)qPGc=tKF=wjY#VI1splg-ZFiA$BX0ny*u_fXDQqi^rrmq@b zG8#PpA0^ZCWNNWP7>mWMLkudf86sV!A6!v=scU!mzW2ZVPJsK8e8@MCNQw8GBY@_ z3JNaBS6G<;Fz46(<1F{qv{|%i@)}LCI3YPl;!&dAwF8@74}~6iA+Tzf*!J)L4Ug@e ztp4Bq|A`W(clR{+e$VuCU6wJifOX=3b+CnBIxd`;tjDNde}@rbC5(pHC_a^sp=`Rl zT);{jiIr?^Os%;r!RDI1GiK(m$+&&Zh2hpoo-kWBI|c^^I|f#-Uw=-TM{epm^dj?p zyKc$`iDe6Cf3}~tw$-3->x%okto{_-j48HXxIMMri?TLQzTGiGr$@zZZ7Ci(XJ?eEm+f zU8;}#-}4t8II!tT%{}SqVU3|W6MmoFw0yJ1YNA|82Ff_+ZbwN*-5*30_A$xLz@e zf8alGdAZfGHGLmNSe~lRUC4LA%qnfgE*YtmvjKrAZ?qz^v*T+C- z0{e3QL|29So(=2_3t}V~xG%8nsPg|1dx_D9!?&PAEar5J;>n;LM;MYT#OoL|ZZtmr za7Ce@_8^*21$Z+u=`te{;N&i5Z+Hrve3#kA36}I=G`bE@%J~lk t@(d!-1k1p%q){4}lrr|s z(?YlJ4o6x~g&p}Ipm#dr_wJw*GwSO%PqIwgYqajt|J^~aWo=I^OWqc6lWF3Ab+B1& z6~-o$^%(W*d6~fWFu-Vyt@?ix7^Gzd7}z3xVigh9< zrTkxic$G3=jthe`gA;>ibR3sR(bF5E{ROPLrx&l?yZqQB#_CyaHplE7dp90wG?-TV zn!E5s&pE|+fj=KC?yKZ@Jg>N8%4NkJm)KJ4X4<9Ml%%0QOx=yNEYN~do^`TY2xo?&ie>wU>r{?vNS|>Tq z#*KbcM2ha&->~q1+TB+>{YAz>+P_v&4Za`np}t(=J;l6p8!Np{`)Wu7vZljY5W^%VifPVShio&8ZX z{%7cc=41DHqCc*^zvEJmT+5=nOO*5xpSoXubgP%=Ftw_wJP)cqpw*VP}W%n@c#Iv0}a@{L7E z!-^rQ^bEsS8G)L~Rj$X@g{wssT(tH-`6^4@adGLfVPs1k0QgQ+yz$v5Ya8_rn-eShM; zr&+(-Xu<{IXx_=6zU1_4?Akw}*7${7OYfoSPPY~=ZWOrYG~<*1f(gw3e0JKje__0T z;v}E#(iGYmvI;w{hB@B@bV|`onP}EyvK$>(ko!UDol-!=&mC@?TpyU1s;y z4S!5I5(VlNTP8l~a>@UDJJ2Ed(ETp2k4yLO=r6gm*}yL6{LU}OSI0a%{9W#~MW|i( zgPSK0Sm-{!XUq86*y_X;es_h2u8xT!*O!oPgP|X@jWoJO53nY zMkmELG%)4OwhW)kr`IPRyRWucFdBE}Tm^AGCf_A^V09 zR^vIlWlMWjK1)~eXJ&GfI}rD9+BzlS1nXo4XO9CO4N)5eqCI3JE@d$?Zjp#<5SSdr z6yVLsq{|FTT}UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIfJalQ*5}4s~K*NE0bPE!bvlG)(jdcz5 zjP(q36O)qlN)n6os)|cMwiQ5agV7pW_5UU?u$wY7IJF82PN-$bu?)HYPA>KyN6u}1 zaV~|DteqReYdoJGoompxvUllu9;TKPdD(n&8>XK7$^P7=^g`x-zKB=<4@SLp?79^C zV#CHStXv8ThSx2w-&`+S(Jhj7P~f(Tor9H9b^wF-tLJkb4_d1?6s zJiyBY@d1p6ctBcKfWb`CSI%Lz&5domXP9`sms<5L(s`!wuUIE?Qp*4JhgT`{<+w7q zFgP>lWS;hJbXq5~`;p+f1*w%=wtl}7VU*y1x#Rc^^%aKGECh~i%CA-ATX@m(iLI7= z%@srb#5=`&6N{`^!f!2jvwG9M5TSjHto9ChwoiX-T>f2-Kba^HF?pjvse+27 zhV<({OTMVGS1J3l{aV8RLut{Q%h5ft;x)Oeecfzxx6cY*^r)b;^xu)5ONG5tdJhM5 ze_A_#m-YPA_j#f} zuD!qG*UtULK}|6|pO!wZ`8?13+#d<)e7VPyzA*YNP?Rj@Qc{%EU6;z&;IYijWfQab zl=tivzgE`eFoc}`!4j%uc|>NxjNhsIMc%JFQ29ofq3L{xIaBp6P7!$q-Lf+bPh|w2 zs9o*qDO~SnvhBil>8}UAFwFQ|ugmB5>6GOHQN=!AMTSYa4LTXjbADaeyOe#$fmshW z{7Q&dt$4Y%O(^-;3pR5G)^A1T)8rP$U+pQlc<11pl}U2%7<@j?db{)X(pM5$Chk+D zm=3Tzgzr8YV%Es(c9c&fA!s2>bB24A!KFARA+N)nIfgqm1H2iTbeVByK4{`+Skee$ w5zLC{#-V37gmJMzCh3_E-F)=yfG}T{k%64d5#Y_r1~P;h2nB#fR5OEk0IpoQx&QzG literal 0 HcmV?d00001 diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-64/package4-0.1.0-h0dc7051_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-64/package4-0.1.0-h0dc7051_0.conda index 0d8c91be3206f1bd9a602fd1f381222f70202a43..de221f985c7209537640c31ddda1042869e4c137 100644 GIT binary patch delta 819 zcmZ3;xrCE1z?+#xmjMKB4C7xa9>;Htc-yB?DYL(oG_{B7tl~G+7WT(5LV(5P;P-7689KfPo|Ai6a02mFi zUp$nb!7ai|&SAC9jbojS5oOxp#{;Jvl{s3!Y?Vh?;lJyNR|VP492uM#92w+UdBUGw z7j4h`s?*)PcFxjcLQKU{^Zvz6pLZ#<4OST-ic9O}qcfAML%#7w>G*W4s^Qn%-& ze*D_SG4rPIAn>Eh=(44K$eU+u`R&ZT(p%*{fo4p4G`|G1G)V^Mr=Ev>X_~2f( z@KYYv^glN*w%5#;oEqo7KXHEhoc;6TVn3S%|GOM=y{UYoopDwj*PS&JI$t?oH$0T# z#o;M&bb5d1JZ>+AhOVAok!#H2C-@IsUT$@4UEfDBmZy`?ZQ#40W5%>%7qirpWmgVV zB=au4STf_l)}#I!8`WC3*B=vI#G+u`Zg<4%PGQW9h#$SI%ms|M7?v}gJnL)4(0W6l zHRJ$4)0s4uZSz}C#{``8Rb&%5QZ_-o`A}#d`<8^;N=``&Kjb)fTzD73>frYElyo_R zcc{VPowoyz&&aBC`(&b!@PzS=XkMo1OorRNjr6vW<)xjT+8eYPpFeGFgshrQYef@*MXM0py`@{VM(LPWIq;NHCPIR(E;A9 RY#>FP0Rz!FfhPqjjj5B6ByW4nHii| z1%)P@XAIDPotSXvZk0qz!_iH7DZEBgEKW%J@l?*}H~o+^u|U+&s%6!>qksSP8`dvg zyu2jHYT3n~_c@k+&-8O$mNBt_buv4nI@rbu+-vVmHe)oa|I7%n6GlU<6!+z42#fHN zb69P2<5*{7M45KDd*GC#GDqu|t@a2j{C7R^svx_W6N58@1H)-|#>1gMOOL)@yCAi4 z!_>`JBAgQZ4`06jTIh;|w+u(}^z=CnQZHXfT<_dEQfBKSo^{8WM^0X zuOQd!Y;Q8J2Wu6k`(NMElI2~xiIXeC;M@xxsp?rQv3w7sYxZtCC=u~s)yCz4;i9SY z*UY?MP?^`0d@uX;EzQK~6WoImbTS#wA8jk-R9-jt)zf^#PciG3=9-;M(A-_B-Mv2i z2uEy+lv&HA$SLW6rktI=)}(R%w<-6-=3HuKtgg>5V0jX@H^26+XCuS?YT>6mtm%Jl zo^7w0FIf_2y+3i``g8ZK{bHF-`)XD!T*vxesddhZO7{mcTr)fDN@SILWH?v11lIhV zq2Z-4!Rv?{*K0=c5Bvu%FSk0jrthN&%Tv|4iLwhKb65gO*-cLPu5A2xOv-EVOM}Mj z?)d>_zFhhBcePzO9m@E4Ik=f0ik30dB_CvnX)rr*^>%XQOLl{UW-b#$J~T6ImTY{R z{?JG~q$s$9k!7RolamVyraorWy|JxhLPSi(H379P%GVf9gg8zvWKUSNOY+>^KC5Fv z#l}KQ7#WrL9o7|ahfZYQ&}sNVk;fotftXHGbtiLSl&XS*`0Izf9ELkp1H2iTbeRz; zb8-W-H#})hzRc`w4NH?S8eIn{Mg4~YH3kuAN@ieK(x@~!kVRJwmcU?ifHx}}ND(s- M$^jE$E;EP+0LOVaMF0Q* diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-64/package4-0.2.0-h0dc7051_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-64/package4-0.2.0-h0dc7051_0.conda index 18e37bf5f02f9e7c17a95b431d58bc1193aba5b8..2ede970d45e335773cffde53468e72d9e550c422 100644 GIT binary patch delta 809 zcmZ3;xtNnLz?+#xmjMKB3JTemJ@l|d~zG6p8LsO zKg;UHmUwoZum2O)esgersa0|#;uq6oHb!-@onQC-Qk`tdXjcE35n?NhhFB`@%g^8@ z;U(v=+UCZw&c=u`?dxv7Q;y0Ut?$eA4l4Y2J@Kj_yO|?{6N4i|Jcq=(Q|qW2emu~9h%-A^b?B)!eETO$N$2i2}*XM5J)G4?cab?A7t(5sX zGw&Bv=DoGxxVxSx+i2@Sdw}f~<#~kX&US9Pxx<_YvcKT#~@0)9*BWw09YCM10 zzlZ;b#koZ`kC*4{%bCk5vvv8OZJ(xyaY)oOE3c@J{<`n$*2pVNoQV$sBq-=tE^P$i__ALpwm7J0me#mj|xbQB5)xquSDd}4Ki R4Wx`22<3puFrOL30|1rVJc9rL delta 805 zcmZ3?xsa1Dz?+#xmjMK}*0e`WP09z$FfhPqjjj5B6ByWanHij1 z1qCP6GUQl>+)-us9M-?k-I7o_INd|K%C-Qh^-t;{@X77+9#KC*)V!V4&!8YMs={2jD7ZVCYv#u)qi4ySPG*dc8a_5GlWTa z$vLdHxpAzsF``WSx|{Ek_Y!P#_N~t@s{9gu_^G40nG=IEg9F29ai+G_pI&!ekG`1N zxMAw%D-lKs0f#T&e=U^TqsrH^@wBm@La)Wkd9U44jPIIURP@=Mr{Z?=#M%#zCp)w1 ze+7xIW zPI3LoJN-G^-R2Ezvz0k_x7Y|VC3|uUdOh3OB6!{J>!Smoi98~r?Oe}tV z!(E%7R%JcCn>Eh=(44IwozCR^R&)Pao29HwZ1wjaaJ&lJn_v5uGf_aXMffQXYxnS2eQMvXQf&akedNqH@PY0#M6 zJwKq#mn;8ny|xRdLm3}02RHLW(K3d*7a%w=N8hh~P&l8tZE z9~y~=6a{xMvTT%na&kez)W?jvH@0<5h={4UCZM)O`5MEC5XZ@d>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIf{Qa3l`7py(frbP1=oTa5#igm#Oi|7JcUmS-M%{4@LIgHFt-H&0V7K2wz%v-E%Y z(reXK6MT>7EZoG(rJ!JV-QxPq^|BS+B3TCoZmZZiSSe)(FnC}7#f0h${@G8%V7^cT z`XVzgEuT1Vd}W0A14cu5)cWCk7`5M+SaYo|#2&x}trqrdF10Ek6?G6v2P_Qu3R?)NED0l(lc7)hD!_xGwc* zPK)1zly1Jxvs>F7PMEL+|61^d#kF>!LJjlJms1XG_7$JKW}9o+E>5n52{U~*C%jG! zJj{0_+uC+k&&CJ$sxLj^an1jG`)qs7e#w$Y*829+I#kB+^UB_z4BTSa!U z&z0K$v(1csS8{CblE+yo3XH8vBHjuOT|K=b*O!oPbZ(-z;{8% zjA_L#W~nF3t{kXH=3RQRWX2vd50L}?4E5z)xw+ab+zw`Zx<{(+e2lpf`J$#A>3k$+*sM76C6irXew zNUXfa=$IlK($JaN#2Dbs$fV1RJI6tjI>VAi5Q|{`LpKgRk0FeU1v1Ibap=~dX99#Z a%D_ZUewGOEW@Q7J#SDaUK$8lXK|BC^qp)uP literal 0 HcmV?d00001 diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-64/repodata.json b/tests/data/channels/channels/multiple_versions_channel_1/osx-64/repodata.json index b59aa5f..fb4a4b0 100644 --- a/tests/data/channels/channels/multiple_versions_channel_1/osx-64/repodata.json +++ b/tests/data/channels/channels/multiple_versions_channel_1/osx-64/repodata.json @@ -1 +1 @@ -{"info":{"subdir":"osx-64"},"packages":{},"packages.conda":{"package-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"b2a0b1f016848baa6ee06fa4d3e0422b","name":"package","platform":"osx","sha256":"d98f2abd1199f3f0acaf7430d4867dd37c652cf741f6d0822d344a4149bfe892","size":1238,"subdir":"osx-64","timestamp":1744040261467,"run_exports":{},"version":"0.1.0"},"package-0.2.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"fe1f8ec7f9950272755bc4abb5545b13","name":"package","platform":"osx","sha256":"021dfaf6f85c52fbe1d59911d55be7e49a28f7630a6adf26467d40f5f311ec70","size":1242,"subdir":"osx-64","timestamp":1744040262703,"run_exports":{},"version":"0.2.0"},"package2-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"6f0c0b47d1bc1d202630776f973fe14d","name":"package2","platform":"osx","sha256":"9bafccd7aef5105558bae690e16e5f156f431bfc8bdaeea17e7efcc75404b3cc","size":1171,"subdir":"osx-64","timestamp":1744040261467,"run_exports":{},"version":"0.1.0"},"package2-0.2.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"813bfd14a6151b2573a298d67a2f2650","name":"package2","platform":"osx","sha256":"441668eb6a08a379dbc365ae434b8693945c474e07a20cab7796ca2ca1595a9d","size":1169,"subdir":"osx-64","timestamp":1744040262703,"run_exports":{},"version":"0.2.0"},"package3-0.1.0-abc.conda":{"arch":"x86_64","build":"abc","build_number":1,"depends":[],"md5":"4025c6edca6c10a8483efdd2ad30ad3c","name":"package3","platform":"osx","sha256":"031f079e5165914f7d1d1862f32f0926e23eaa9fa1dc0a5c591ce3e8bcfebb7b","size":1134,"subdir":"osx-64","timestamp":1744040261467,"run_exports":{},"version":"0.1.0"},"package3-0.2.0-abc.conda":{"arch":"x86_64","build":"abc","build_number":1,"depends":[],"md5":"11be9c199c2b839e6005ea2137cbcf03","name":"package3","platform":"osx","sha256":"7de06106582a8dd00a221c364bd99f4c84c3d416812efa65c0c6db041decf40a","size":1137,"subdir":"osx-64","timestamp":1744040262703,"run_exports":{},"version":"0.2.0"},"package4-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["package3 ==0.1.0"],"md5":"df313d53fef438a24153aa72d14cba0c","name":"package4","platform":"osx","sha256":"90692fb9ec5f80243cf82be47d55d2293460941492321490242b51cb90c0dd41","size":1185,"subdir":"osx-64","timestamp":1744040261466,"run_exports":{},"version":"0.1.0"},"package4-0.2.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["package3 ==0.2.0"],"md5":"4187c815da1ce91017d9e75332db1d4d","name":"package4","platform":"osx","sha256":"5c719af9b6a665b6b76fea076ec7a089fad8a5c4d98ddea0636399f1227a53a5","size":1185,"subdir":"osx-64","timestamp":1744040262703,"run_exports":{},"version":"0.2.0"}},"repodata_version":2} +{"info":{"subdir":"osx-64"},"packages":{},"packages.conda":{"package-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"1bf5d0b3588e27ed0d6f686c0e6eea14","name":"package","platform":"osx","sha256":"575cb284040a022aa34203bf70305e21a4e1c458eb7611f1f610b8e1d9aafe52","size":1240,"subdir":"osx-64","timestamp":1759844808246,"version":"0.1.0"},"package-0.2.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"5526c75b7e066ec60e4cc3ea668887df","name":"package","platform":"osx","sha256":"f853edca3a10a044fea9a75542410f4e36ec6b7f495d706113325aed89220f94","size":1241,"subdir":"osx-64","timestamp":1759844808836,"version":"0.2.0"},"package-0.3.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"9522ef7fa212f197545a8b54d069b8aa","name":"package","platform":"osx","sha256":"85bbf232a0e91febcd75c79b142df3363b03a8b6bd189cabc2654b2299582a1f","size":1241,"subdir":"osx-64","timestamp":1759844809436,"version":"0.3.0"},"package2-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"b8090ad9e6143e48b8fa240988a105f8","name":"package2","platform":"osx","sha256":"c7fc6974ce8da93f255262cb7616d0f5421b14dd0a7b96a7053c26b97b11083b","size":1169,"subdir":"osx-64","timestamp":1759844808246,"version":"0.1.0"},"package2-0.2.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"f47447783717f49343b8c8a9c819cd34","name":"package2","platform":"osx","sha256":"4353280872075710e92697d0de17d917a5dc15217a49ad544d27be01a29077fd","size":1169,"subdir":"osx-64","timestamp":1759844808836,"version":"0.2.0"},"package2-0.3.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"06bf21b993c4ca340b213a2fa5abf56c","name":"package2","platform":"osx","sha256":"3b291f0d81fcb72b6a274c395226d13ca7b578a3ec29d082ec8b2ca5fdb5399d","size":1172,"subdir":"osx-64","timestamp":1759844809436,"version":"0.3.0"},"package3-0.1.0-abc.conda":{"arch":"x86_64","build":"abc","build_number":1,"depends":[],"md5":"5f69cfd6cc9985029004f3f58a1aeb5a","name":"package3","platform":"osx","run_exports":{"weak":["package3 ==0.1.0 abc"]},"sha256":"08f489f016b822df605e2fb85e09d07fdd26348bcc4e575002c939e8b2984934","size":1184,"subdir":"osx-64","timestamp":1759844808246,"version":"0.1.0"},"package3-0.2.0-abc.conda":{"arch":"x86_64","build":"abc","build_number":1,"depends":[],"md5":"74557f1ef0440f5ed4f0b74660e7475d","name":"package3","platform":"osx","run_exports":{"weak":["package3 ==0.2.0 abc"]},"sha256":"03f05e238a414f5043f6f26d06541e2e577cb73e85f55c63288f03844c318f7a","size":1184,"subdir":"osx-64","timestamp":1759844808836,"version":"0.2.0"},"package3-0.3.0-abc.conda":{"arch":"x86_64","build":"abc","build_number":1,"depends":[],"md5":"14a6a5c00a4fa37b79ce41bcbda6e588","name":"package3","platform":"osx","run_exports":{"weak":["package3 ==0.3.0 abc"]},"sha256":"2ac8b6f10ff7f2aef2b2957cfe1304dd24e68a3120a9d2fba163b6ef50815445","size":1185,"subdir":"osx-64","timestamp":1759844809436,"version":"0.3.0"},"package4-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["package3 ==0.1.0"],"md5":"9a6c2c6e1d280fa2e1c32f9e04af9a61","name":"package4","platform":"osx","sha256":"287b75619da4617b2c074ebbd1a8cebffcb92b636bd21fb6f39634579d7d9739","size":1188,"subdir":"osx-64","timestamp":1759844808246,"version":"0.1.0"},"package4-0.2.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["package3 ==0.2.0"],"md5":"cf3f1174ea6f1d657ea3690c3e56ffd3","name":"package4","platform":"osx","sha256":"23924fe4d13715d8273468b52522eb717d8ed3c7bf85c412aac2edbaba8e9600","size":1187,"subdir":"osx-64","timestamp":1759844808836,"version":"0.2.0"},"package4-0.3.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["package3 ==0.3.0"],"md5":"fe19ce89bb1082395e4054a848937902","name":"package4","platform":"osx","sha256":"aa8377c0fb04e9940b50df0bd9c85c421359b5769ea12475c6cc3531540700ed","size":1188,"subdir":"osx-64","timestamp":1759844809436,"version":"0.3.0"}},"repodata_version":2} \ No newline at end of file diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package-0.1.0-h60d57d3_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package-0.1.0-h60d57d3_0.conda index 899777b063acffef0b801257c389a4a668fe5e77..a9ff649772c26c3437255f1c1553b6ff5fa9c78e 100644 GIT binary patch delta 790 zcmcc5`GAuzz?+#xmjMKBAews-Wz4LK7w7`eKo56#@d+~lxr7lHPSKc?gGK-#n=HBelW+ zPfeAkOI))*oA-EmHmYd4?*FRvk;Ux$k?@l4wJ-8j&rh#@B=beZUP|#scl*BwJ0;oA z<>$)oQI2`(q+R`k<@1F4QoCxU6(@qyCyK{M^{%(dS;eHU;h@@-HRHwIjVGkGrLB=E zS;TMhWwDT><;CLf+6z)|JAa9`+%e0#-H5MjLOxCvDTZnKUW%nBgU(jd~Vy zJNeK3ymZp-Ve%F$x^%UhWfRJ~p^TszRfnXHgp|KtMmjkATPAKu*XFSPk?v-lO=L)k$U*)f7L z%H?OkI+sz#Ci*eJlD)-XlaLy9~%NZJ#_%Ez0=w5k(L7kfO*CY28jS~MkZZmL{go+m)RShRwoOvI9bCIDU3$f e0ZL&1p+J>E1e&xN7?w0zOzvgzVOz%x5&{5Kf=EXI delta 774 zcmaFBd7qOnz?+#xmjMK})U-!U+`ky2ZGLFBPp_oq7@`(yp< zOZLL86F!#yyB{3&{<3_^Wy9zdIgFFp7;V5-7O*}NpX|jLR4?byEqCKs>Vo|NVjq1o z{Jv;(*>TUlGE2U$R3>^F8>=^iH-iVmnZ^Gdki3y8E7ZNKcvD@k)Q<I|6K2$MUw+TJ*RozORc5;BamB3@&;5UP=GB{=HD}XiUq5r($gnQD9N9g=Wil<&al(U3&R0ji3MxDP5k;Qu#?=lQEGJ2xvaNq><4edLZLQ|M>3V2dDI3+k&u=d{wdvstz z7&pg)qaT=BW?T^p@MdJvWkw{;$@`eS;c0WSAd8bVEK$N}bRD1+^&bjU8APB-nSo(R Pqxs}M79X~?%pf5E4vb4r diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package-0.2.0-h60d57d3_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package-0.2.0-h60d57d3_0.conda index e5277373d32cafaeb8026f78938cd8483efa810e..84bf91db77259899b7432087f0cc781398fe5fa9 100644 GIT binary patch delta 531 zcmaFF`G}J*z?+#xmjMKBR`oSpx^KZJg_5kD8^SxR6M2GX zJ2nX1%sqRMdD#`q{}23w+2?+HJ@LB_Sd+)+&fk;08T}d6CeLOJsTZ1S{ivsMjo~px z=LN>)Pxij>=-c9Wv$Nx$kfkKM_@U}U)6~A~YPG*IUGK}ysR_Q*ojUJSJl0`ed;GXk zK@-z7p*73>-mf>zEzCXk+BM_X0Vj8FPB9bLb9F6O-bBx+TQ5HI^Yfr%XN4~x)BHbM zdFAF!8`Wm7U4JTC^7NxGrw&*=H#)5@+q>cKVtz^GH($b&-lUzJu`cc4i$!(cyiZSE zR?)X%-nyhy8nOG-)l+7${JqA=nRsCG0w$;W!~lhYE}!0>YrIk&ulaYK-G0^3j3Kc7 zge=Evb=gA`oH`h*94(f=yp=gY)$4UbZbE&;;{I61_9oTOuEd77@mB9*&80k OlZ9F05K&jjk_iCD8}CN| delta 531 zcmaFF`G}J*z?+#xmjMK}*0e`W?E_r2ddn_8HkuzPX8V z&I^popX`0%(YM9%W@pDgAxla2UrrVNH!iirZU4~z>r$)TZlN_VgES^e=g&!9@byOo zi(kNjpr)@^UdAThdUUJjdiRAdjjestgmf~x=KSSYd2_qL-?$$0=jWI9%vLYBW%0DW zSfw<~>{`m^uc4LN$&qv7Bqg33)%;wtSa4hY7sce3x&OR+?&?ThzN(|PYsLJ(mx`8Z z&Qo5qe09UytvCMstmc`#;65W~;)lr#n4IdF0~8v%JbHVs@k({P=HGR8`&C0ThQRg{ zoE)n?ty&aY1(?4y75H7=dRf7H$~A`92l_S~3+HCp(bzqknYYaRxNdv;;a}mrW&Cjg z+d0;IK3rSqTEMgC_=WZj+7sduIT;$F4Hh(SZpdK>*1xyI*NTC2AqW4W)Za!;t^XO1 zOEO5s+qW{VN?^VyQztm(gO2m^fXN5m86PnYH9Wb4Ibszf*Rv}3(&SYsDJOy(8YZ%D z2;Z@E^$C_64-9>tS| MS>g~;SILqI059UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIfJo$!cB+PIXpy5D0x&?{J*@@|?x(0g2 zdIq`~W(Fyy<|)SU26`olMS4}mB_KQ7pmxG&jjj5B6BxLkGBYF{6%?FM%aCIka{rxN z>^+X0+xp^M>4r=9E%~HSlC^U~c!zZ&Pw;HV27#NoXAd?nyJGqO!JK7$R&TE}>i)Hl zSZ%vP!7F^>;bWJ?g%lnbn7?NH;Tm+%l1Xa77I4* zt$4;iZ+2mHH2Zsw>pL%;lCyJ^-*hhBpGEZMOC6)fKC4f!=9|6hKsRSV=K?9IzePET zywS#Cd{!6PrG5o=E|~LT=WkJg&2JTdt(A*8JJ(s#nDP4jH37%!%O2;LZaS*8`pU(O zmqFrF{HC)n{qrJe_J@u6B}&Pzz4x5@&hi+|>k8yITQU3Zgd#`bin%mxlW-z8mJ-rO6w{Y>nxm>+N6#;0G3{Oh5;_uM)4>E02q zb0+LEH&<5JH0y5P$&@oU*tZGANj^WECeH1zP|)Sm+jEUqs^c~PuCv>(8k#W#wx5vY zc&#pbXo6D*W0j-D@|U+VC#ZV8X1LaipriILC0| z$4b5cR_TssAG#N`q)S@0&SEK>uQ)F@_rXqUhNbcf+3U(f%*&=W@Dy?hXnbOL%e8$* zmrn!lu>*XG4HMg<3_5gG`I1&`cVO7WYt_)n*}xd!&B&z7j626d^9sX~Mi7f&{zW$q rJ&z)civ=>t&9UgVpyw8ZEtZT7f_v$`f4x6yZ=EkYWEFQ@X%O7?|{T8|+;Vi+P z{M~q8pPj_@+AZei#q*_pG2Y(Y|9ysCPAjkHKCPc#qV+eWChf|3^CFEo-T2a+SE`J? zw!Tg8eixsewBYi!ZxXNS6dG3_o9A{{>y&+@;pIbr@5nt~7azUNjdOpAi2zfwM{tIS zP!XG+{=??Am-qPVy7qOg-E?%DP5aV6VXu!&-WGavx{}OtR^1B!2M3PnzA|1Ga(264 z<-=C7e++wFS8hK$uf8mkBk{qxot;&#O~%V^DlfQbF-z3wmek8db{%dPW;UtMX5GcU zH($!h^I=K)sh1_Ya@zUa1XJaD#Ol?RkDZltS7`7!=E3!vQR)Q$uCvRnj`_(xH03y@ zF1v{Dftgjv1}h1j6yMOmlsDTld@i4k?>^ni^r!t(c1T8cjG_edy@U0c4mU(Q1g9}F z%;08DV7$e!oM}?w>=Fj9Mh*T&sl}295B+aU=2hVJOJv*d$hts=PnMG<2S9WDM|TWYT5UW#E7%pUHX5-thD@`5<#Vm;*{NlQmde)L_X2MhAGavVpWR N1ECx+3B@ymcmV7)2;2Yw delta 651 zcmbQtIf;`mz?+#xmjMK})U-!U>?${UisIi-bmmnsVw^+s^XPnok|nZ8JUN_MeV#PYfBsY}kfgskf1Ojw&D%0;|{OODOGwS_{oDSTQ#Rr<8!7@iCkjK zTA{uFM3t?(*G{%PbFh8!8`12gnz<{x-fJg`m^_v;YuOY!IsH%Y+3lBR9(c#wSFz{U z$=vmAckB5*8$aBuzVw8LHT};{%ZB!v`I476Uj6CTdfvIvfwjO(T)t+(>Au3cCAkjj zx&F7`h{d-oNKa^q`E0KEEKtf_VS>jI53bjYQXlwton3BqYz^NBJ&rCnko?+u>xuwx{`WeZvOr32rx-7z)JMT39of zeOOf=tG#3pVG5LUIsMG2sr5heaVZC>Ifr->j+Q^Lkg?);S9R@z;uXCOzj;3DY&}|B z&amvhV)nZ75c6qXPHhUT90HXLMXk}hx_lbm_B8T5Y?vssH9_$9WQz++uCldcnA$KX zs%>Bi@MdJvWd^1gc4(5BoX_kHPcxGbF~=iPi6)DS8Z33d=m2k4Hc+}@20}St3W{R} F@c=s13-7#Lu*##a5m2@LGI%nVMh zf`Suj8FDN`?!TKi#hdB&H}5qfeA|{-U67h5^J$^mcZVabr^1eW5YRgv@w+%TT9mL+csxH*}PQ3Gsa`d)UC$!3gZ^^X}LcEV_gmEvdl7>-T% zkPNua{KsdlfZ%1Lpi5`ZtVn*h=;-XElv_DT4h)V!c=$->{P{m-Z(X4wvG=X7ucXPO znNo)>?L~bxnFS|I`n}fr0AuwIX1~c^yt6Ev7>}&94p?2PkbO(3Y`J56M$kH@fNS+n zkI#RscB0ffcFik=M6a|U!S7q-IzK*~y*e`Y*xwJCxn5~$bJX4*-gW)t{BJ9Gu>=Ww${(~lW0j_dr9V-*io%@ zS61nGIBkEk{aEDIov)ncntk{Z{zdwn-R=~%_Il>V%NHJ7Yfo-9B zI6vR&_56}%yH2k)-)UZ`9m`qt=R_^@!fA2U_ErKik~dV754Oc`=PH_d!q!b;g2yp8 zuGfrGANY5jU2b)34c`YnjxN=?3;8aXS%s{yl8{RA4Gm0rvn|8t^6AFc7V~+`?q~&k zX&10zc>h4cL_vpVi69#z!whcb1jbto;RjFd@V08;ocy0j%_FP(`8x)m{m$27-ml2h zncBkR$R(igiQx&?_AOmL4R4PfXg4_E(HOO%3JTemJ@l|d~#c+o%_lD z=KA(!QNipwU;ihp{l?(>Qmf=f#IMP$j2glqEB|b;X#5WaY78Qi9a*&NA2CAghtUx0 z#gFna9257Db69P2<5(x>4nOVdT4l>#OSEmjxoTC;r2nN6rAHch?HL>x>=+miFTJzt zQU1#GNQs!IG8?A~h#lVGvi9qX#B5c*l(nxV)hD>k%2`*cyeauSr?k-SQe}ZtZaS^} zUVZ_6`Xcoy*;i%?ZF~9bZ_j-U2M;y;wI zyD2R2IO4|jno;Tl|E{ykt&T0}`=H0sCD#) z?Id${gf4i&uUNrw@8C-(u?Ptcn6@x3yLWGght&b@Nz7`Vp$SIs7`#dy z4#vD+k+;Unp-qRCL!y$Qx;1)5mra9jPa}Wg0go9`8#>;4$Yfm7VszTV!|%|MsmB=L z&B&z7j7V{l^O(KiNpA8%W@l?yT7%K(I?xgdG=(xSENN7kY|o;r21_h3I>4Ki4Wx(} N2<3nYDvlY%0{}A}FBSj* diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package2-0.3.0-h60d57d3_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package2-0.3.0-h60d57d3_0.conda new file mode 100644 index 0000000000000000000000000000000000000000..fabec5ae60722cc7de636ba2736909bb9c50a1ba GIT binary patch literal 1170 zcmWIWW@gc40D&91?$M_iQuY2r0WX6HLvCtGVoG93qFz>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIf{K@p@2{6M|frbP1=oTa5#igm#Oi|7JcUmS-M%{4@LEgHFt-H&0V7K2wz%v-E%Y z(rdpfC-@%ES-6RnOF_Z#y2bUI>t!ptMY0YG+*Yx3uu{qnVDP^DiwV^i{whLXDoC`Q%kDSztD9NKeP?g!%&zo4frUbgdlDC4%Fc-{ms`Eoz$WKj zS3sv|nyq|r_-FH$hw}W^E7yE_wWrgjuR%XSfhTF>{F60r5+9uKpBpT7`1hl_;F5Po z)TE~VdhuA>t4U~6^qu7B-5nD>mV~KTzT2bq=kK~7$9I$&<>zqtOUCa$6zim#WX-tQ z$4fIbvG2qE_x92ccbC+k%e2ZbJHEN*NuqI5M(*-^?(58-&wOB&xlMH8?~R|Ne(fku zdlKd;d;HOowAnH@INTH_cpP)%dd(>Hfq&Q88+cJDEpKg3@F`vimj#j{zb^#lP_YX`Iba<8svN1Bu;AT!>yu}cH@Z=6}s|LpN*JW|2IA6QRtoT#FNlk`XI|9N8nG@wuR0sViUegK8nohe*TWZXTS5cnD;C4 zbf&iOIC2Rnd}4UQwS7yMPs7_|2igq|cr-?B=y>ZXvnAwx1H&eMs{==#90>4cWYT5E zoxh+7n_)>Kh($2Bp&N&uqY%c$0-0pzFLZ0rlRUy2WnhvfKLZ4Kv$BEAVg^DvphfLyx(O_ErYwki9yYeHk%(9QA`uRHF-4Wzis=VV8TWWm0=-;K2KJcCw z`xkJ3)0O1o^QP%8)#C}3Qhevi*lU}+>ZfeWq{tf__t{jZ+HbfJn(V*0NcF9I#D#6G ze|9^*oaem#L#x_f;ZGhMJ*?+CpZqWJS5LV!b7G}jqR7h06MuTje{gmAsh(|Uw&j7h z^c9I8U$)%OT4!;zu(Whr=gS{oI3L!RBqay#-@5eOIrBx+`8X3F+^gnzCE0cF);q8H zoGfoXgdIGfzW9AiBscd%ZEKDX8T0P)a6RO{d93t?g>n39%ze}UuNCJrgh+^(ou%mp1jy&XNWQXQY&xBpz6m%|XqpTVp#OCp(PLeIZV@};Hm z^%ZukTo;-$m_7bZlvt^fP|~pNWd~!Ixq`-7EfLMv%id;|`W|??V*VPoHJ0Jxg@;bP zU*S;R`X`B*(cm@X?ghL8Q@!6zk~+W?F{wFYXQCrx*L=$}l06cZitPR+<>i|%H!plQ z<;-$r;p*@5k9@9vDPrF+g*Ee8ReWgjDitG5RTkquUV-%mr&lL2&+cj9``_T%AQh9s zrMX~PGOy1TewKoclS>%`ycwBvnGvaNaul;SJh@F?%N&77QM@d+YOs_9qXWEI*+6NG O83+X!85nAqK|BBqeIr=_ delta 660 zcmZ3)`GJEkz?+#xmjMK})U-!Uh!c%_gy^J9zS|w%grP93=Rx-3{u~Icea~-6KOrP`JTFDv#Qpl=*su=iUY7u;)|=PP?)=Zv!YG`q z&@ICoBz}m`wBT=Ncy#oHZ^7sG+!Kkm-Zb%Rl-<|!PgFDv&6n+*X4x|_^GfCOz3yeT z&wpNuy*y!a;q0aB=biubb@nmF%@Nu4YfJaKe>hjXyjMWZto(fDw!BZvpWCLn+Ep1f z8Gnj+QYrJxX{mfQ~I5`6N?r0 z9;#^)Cbuy)^= zccf8mt(k($>W7RRhK;HL-i%DT%HH6#SG#B00$Hi!~g&Q diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package3-0.2.0-abc.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package3-0.2.0-abc.conda index ec6d86a0132c48459468efcb2cb8fea571c13260..cb334240d5466c52f5ee7f77a6c1764ea71c0691 100644 GIT binary patch delta 745 zcmeywv6z!Dz?+#xmjMKB|s z(?YlJ4o6x~g&p}Ipm#dr_wJw*GwSO%PqIwgYqajt|J^~aWo=I^OWqc6lWF3Ab+B2X z;@huH)??JK7hnS0!vLc-w(9>)V30NyU^ph>Bj>Q%=EgSOGfceRORe&hYL6Q{_+lG- zx#acww$sgdInE5u3{DKWm6`!3rY48m9GV(C%{{u>zgLy{n@Mj)Pwl4OjYk>{rq#aY zE8>T_H5O)}?CaCb`3 z;q;qw#p=C$&Yb0+T$k_jE-|{GUVA`XFm?XDq@0X{+s#%uN`BpPH_NZF>+sd9KZSjb zrLTM3wBV`Vs&W6<%H5xPUoCyi&YAcjsfXi~WY@i4+t;3BVJiC&?jWiDxNO~;qs~80 z@iWg`y$E;MB@cT`Qd5$w6( z1w+PVL1vMBhk#k38bR0g-n#ti)>Df#)hqEUHfJA@a*Nsh$y)1zsNxO@M}{d?4SE^O zbG+2cJb4osbxt~NxwByb!_o6HX?$)y^DZ0|zIONEo0fzf)=PgDrKG&y*JiOft70d! zf~xbZo%fcmGF;6v(?->VrHi*=T>1q@AQ0@y z9N^8!q|1y*kdtGWz2PZx@_Ob7M3UlXu~ma5B^Vvx&B_K!WXwP)z{tQ*%M9WH02(DY AvH$=8 delta 696 zcmZ3?`H6!sz?+#xmjMK}*0e`W4nOVi)6F+B&|-oymY~vpr=pFW6t|*tLELk>1yW&_Y=yRYo=~^y0Ags24 zYcCbs{_2`I_vp2gGHS9l7N_DihRwM&ZPkx`O@$X+uWwMCa`lPi|B%mX&-*<1&gLGl zzOLvtlV@W+!~N<@Pk30<|LnAEXs?+sd3od2pKh&>F3Z$@h~NF}qT>9C6aUX?e)0JX zhar>u(+7^8>~Cia^TZwc#>VKbFu~)92iI#xsSo_S&Mvn)wubM69!Hm_m5c0w+>#>+ zrREVQX02Lu;zsVp8Ox@}AMX*}@SpLY+v9J!YO8pkKEB{|L&l?i{RT#c2Vy)O+!xqp zRDC|?dx=q_Mb)xn+S$~m=~HC;3>ge-xa!8v$^}+?7t9dytW>qja z`6O@#cr!BTGDDLWGca9E?q&9dC$Py6m?ID=#DT?D4VE%sbbvQ28z{{%1EByg_4qJ@ FcmRj`Dzg9p diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package3-0.3.0-abc.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package3-0.3.0-abc.conda new file mode 100644 index 0000000000000000000000000000000000000000..54c4178028fd9e0ad3c67cc582089a4646686e92 GIT binary patch literal 1186 zcmWIWW@gc40D&91?$M_iQuY2r0WX6HLvCtGVoG93qFz>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIfJalQ*5}4s~K*NE0bPE!bvlG)(jdcz5 zjP(q36O)qlN)n6os)|cMwiQ5agV7pW_5UU?u$wY7IJF82PN-$bu?)HYPA>KyN6u}1 zaV~|DteqReYdoJGoompxvUllu9;TKPdD(n&8>XK7$^P7=^g`x-zKB=<4@SLp?79^C zV#CHStXv8ThSx2w-&`+S(Jhj7P~f(Tor9H9b^wF-EiA^m)={jUTcbJs+zCO?lSv*SrW=HGB|Rtk z=pNG+DU!(l=o5cy%l%VxZ!C0*7i?Y8sK5PJ`4*w+D`xHfaV~z5gmK9$vw^Q%Tgm2qgTa0$@>=s<2uhB2Q z{r}D|AJ4CGb3SfLIeIHxOy&OSJxTq`SIGD;aGcx3A*Jct9Tmk~(BaeD(IYF>@!5U* z&&7E;41xR^%o?*Kl6fZd{M#g7S{h$r$I5k~DTCSL??j1}DhVYG+g^4sc9|<^oYfN1 ze7)>#W~pz!^(*z&jM?X|y3X0~$y)0|tm6I~4h(0i4(MetyF3-zy@YK8!?Y&~QF##t z4l|9~Et>_E)t@}*eD^M|tjb_Tx9aT6SC4%A%WfSkTeXWh;#U(x@!s{T3`2!xP7z`{ z&ejpW<7w!|Mqf9F_WA=V4!n9sts()JH?pbSVrQ~A^5jy0HzSiSGw$36P5lf@8bK_A vc@f<>^!$b}E*8inJ@=uTkDeb8=F2iNkdr$Cyjj^mhA;!60MLjUW)KemK<2sy literal 0 HcmV?d00001 diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package4-0.1.0-h60d57d3_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package4-0.1.0-h60d57d3_0.conda index f7c786b8348d11a7a8a996d53521f7382e1989de..c9de348e57a7af88155aecb4632715e2ebd52b59 100644 GIT binary patch delta 766 zcmZ3)xrCE1z?+#xmjMKB4C7xa9>;Htc-yB?DYL(oG_{B7tl~G+7WalPjfeHViK#f6Uav+QK10Ghh>E$%6YW9j;8W7)#v}wjXY9UG zwr|_NGt0A{T=?vF>ru2=O3V|M%o`i7U#ri1eQxRA>22-jl8y8}UE1&>S-bk*G?PC| z_ipjC-h6KU$;X@=%<9J+#2BaEJA7dBdaLbQ+RC5(UH-!6^zjduk4GNgaoudXhVjhK zt(`>*Cc8g;|NSWbu~mNE#NUT%g{I8l5q>?bfc2rz_qn;Y$&HsUM6E7O?Ei58z5jfH zmA|WhzWh^vQ@(xMvK{YO(yJWYn{r;9DAAgIk4N?5M&VYqn^J-Irk$(KouUw?Y_>~! zrJIPCLW9RKH<1w*(BKmT_=9gdF?sINi*7Rx zxOT4(sO#m*?bUAKPB7!+?TD2rioK!3aJ`9f2SaW{aO0C_^=h&WPALr4K+Gm7y0dxyD^-P-oMtWqLra4IZ$>6v vW<-KK%`mxv*%O{7CtqZCwuU7}7>%w6Eg?aZFayJqMwQ9_EWT_7%pf5E1xG>r delta 749 zcmZ3&xrmc5z?+#xmjMK})U-!UHdKfv5 zta$p~Jb~%>QntCm8$O?Vyg_8gm(O2vbo#XRbIC?ppDr1^NY^g5>)-O{>0GzDWoflVD)Utp zcxFj3N3w{-D|_#IHF@jSGsf?&UFUBpS@Lk{{LOv7agXopJ#pmNmdm%A)58DFi@$t* z*;@1U9(7OcIK9rKc20HQSyi;n`uvZ1hK`4?M6E7O?f-E9v;W)=EB;j9dO5lN@cx$% zXFoeNam~wGy`m4#v#f;uHr5HeC{kJ2v5jrX&ZWZ1+=}gY+glCnS214oQkdXz#7$%c zyVM8%U1yhD9b3cqL64)$)9Q#-gXqMM@~^luCd>}zZa!w^y|~w)v0E&D;U6i{TTJuzC&PkjQ;FCBR$St?A^+==sS~CTg)ejjt3>#GgycwBvnGxylG{fX3W>0t$ poP3$t*&3GiU^KcOP|Eoa1!@c;&=kwSu%uCGav+N@TOKn=2mn+`IqLub diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package4-0.2.0-h60d57d3_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package4-0.2.0-h60d57d3_0.conda index c6954aeffba2d6efc29c551ca258f66159289668..736beec36816766ced34f5df75b8fad3926139fb 100644 GIT binary patch delta 766 zcmZ3)xtNnLz?+#xmjMKB3JTemJ@l|d~zG6p8LsO zKg;UHmUwoZum2O)esgersa0|#;uq6oHb!+}ke$0PcrW}91!@c;lLJ|-Cs#9a)vMj` zlyg{ZbK_WNV?>$ubvNH7?|38*RQVdz0yX%5FrAt||4_}!UG&d)SNve64i++85pxcfgRk_`hcG+w=5SkpYc-^WAwVM|G zX**rqed%CdZmhKD4b>+T1th$02?=^V+u0&`-S6wC?Glzz>*nfKMV!jJd+O0^(LUw5 zWl1G+%L>JwO4_G>PJQi@u)_A~_NmLaI2?E&E#r81)%UgQ&oXf)K2T^8e#*m|{^zD^ zKU-benfe#EUPym?{@9?{>f-H>?Z^83tN*YsukrgFGJndx=l?TO?_8EhpW3(UxUKwN zHZO$+k7I5kE7+w@@b5ai-0GO0>_bzIQ|huwvIn|O{NOKTH92v1WvgTI+@%-YW*l(s zULR1`%az-!-NKz<#>d+cD^nDELxz>9FU?cVe$~6$ zyKvG3MK4AsSGfhT55P09z$FfhPqjjj5B6ByWanHij1 z1qCP6GUQl>+)-us9M-?k-I7o_INd|K%C-Qh^-t;{@X77+9#KC*)V!V4&!8YMs={2lO;qqPc~x=s5iUeDHqT!ccZPda=(Dv z!5P~sO;@dA?cKBB)U$L4!_Bvw>>U}L7#tY#Ib`&nUK3wFZ59vnL#^~q-PR2XZKC;W zy(h0->M&{Ry7WCBR+$@jUYmO)?^a=g_pH3ToGlxLy%Ud25}#7iW^_Y}JL&t=EgJ&e z`>lB2Y6QB*dN4!_Onz4XRqfFAiY)Es!d-G130=A!zSE6T!b1Z89sYV|PTBgz@NI5F zWtyEDty@KovFMwfQ=PLR)Ny_N(-VTpt5XDvWu|QkpSJ3U-QvOvuGcpxmPDCW9<#q% zqdk?IXXE@k-yThq`S$$dfmAbE6n7tYq?pJr6l;uA6qqtk?-0wFNCf2XLX#eW8 z`vniphI>r)YB@i)94_~FQ!kKvRpj^l&)p@yzd08!*?9KbmgftDCA<_ScpPyPS-~## zfq&Q88WV$~oz@uU1Ju8aw@gSnfJS$Qw+HE8S>i(mLhO7xagIEVOw z92qHrGS*AlISdWi2N_}-%nn?=om}~{p55S}k;lZ4KRpT4B@e#+-EH}knRJ;E>F+c{>f|P74|p1! oe2LlF8kYEAG`c2G%J~lkY78RKB+J0Cq)~Zt0E;hM9y3S?07%m^ZU6uP diff --git a/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package4-0.3.0-h60d57d3_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/osx-arm64/package4-0.3.0-h60d57d3_0.conda new file mode 100644 index 0000000000000000000000000000000000000000..83362df7d316d6b869067aee83bb353ccc71ae68 GIT binary patch literal 1187 zcmWIWW@gc40D&91?$M_iQuY2r0WX6HLvCtGVoG93qFz>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIf{Qa3l`7py(frbP1=oTa5#igm#Oi|7JcUmS-M%{4@LIgHFt-H&0V7K2wz%v-E%Y z(reXK6MT>7EZoG(rJ!JV-QxPq^|BS+B3TCoZmZZiSSe)(FnC}7#f0h$);qHkVZKlU z`XVzgEuT1Vd|`z614cubBCsT-CDZ1Q9#0Z)+ffILQnY*b926J z7n!Z~eeZtnJi($cykIbz364bA%IoL^M)dilF^*ROfoztudh*Vrk{A@Qe4USYdV z-Rrf<{@fgi9~4@IpLV(A|NVXOSj&FVsgJzt3-9kg)_D1@`+p&~-f+#CQi>Yaek7DA z{5)%Z)$*e3?*(aA{F8jPT=8)8@m>(97{szjaVDo%^2-K~V{RfV*riVJ-+dN*bz`vV zl7mzHc?+2%4)**H&{*I&>vF5(;d7rdl|A-kgiQP(-!ywK*PDMzUJr6)SW?85u5Z2B zm@V0$y@k=w)U)_9bHD^gu9ZI|-|AI2-Tud(!t2V(e#T(J{fU;*D^LAQ)$y3EsFOCw zV$Daz4E~z^iSyU0RqtZfSgUv_=6%pr!w~LH4Of;f{tN4Bx>qJLZITw1)L`^%5VBEP z8}i}uZWe_pZCnM0J2eBm8JTpMac4MaN@rNo2x1Y;e(1)bXEB6vu|Ou-84leV^gMvD bMj4pK$=ekEvbSt8zSIePFkhR`~+c7OC5x1>T*C`2E{3{>1*(;q4-e2&R^?cQ~9p5vM*NT4% zMMiv+R;GGh$gfr0qn@+cX?=Eu%jZk2cDtjlm1r+H(PMmm&1HA_*$29$BJ_<4&89_N zyX^CRlj*v%6?-*K%-DEk(*n(+Z|W*(@rS=uyPllGJ;CaW;Wytcm+sH@tNjs^%)hwg zljF;Ok^SeSv;B`%Cbzt;m+w7ck+^*Sq-5j9t^2i_dtN6^>;CBa_s#Ta+CCp;5^e9Y zPQCQJdh($LriGTzg)Uf&?3EN=Fkx%f^W0~6>=(L;ii%{P(w%K3Ft&KZ9%e z<_FjIJFQ$_(!QEE(N&>$0}sQ2Ed~tSb5=guTR6XjLHN)_*&yz9rv-%6@8?Jz5n>D5 z!kEpsyMz0@c?;KDo@;Se3)vG^#Tn1B-z{6(v+`NGia#@xo7{o8htt9)a&9;%aY8`I zKq!D)ZsXb`2R$}LH=nRt!61B@g*m{Rkx7>sk-jJIWcG$9@X0(ZabONObrrEVbHY-U P^yGak;%qCJL1_&D_pMI~ delta 807 zcmcb`d7G0jz?+#xmjMK})U-!Us8ly6I0KytO*p;*c6`tax6Kfix|G1cnG{XhHXPrmm#>Cr*c z+nbub#Do+W3TL*;{_te|$g#qKamT{GpZk_bH%KTPe*PuXXNRd40+&`X2447)|SCn80pjfYBOT_5UU?h))$@2#X1kb69P2V_U9E@!nTD z{_#uROSEl&y=qm?r2nN6rAHcheHnZiJQ+fc`7N<`k~^8OwnbN*OJLQ@&)WH)zvy@` zUb$C!o6y0m8FqK(*jL?%>ST^w{cEjYhqAHR^*e$uE zn>*g!S;A*~(&59sYWA0sUH8s1@?_+!i+W~v=J)3BPM<$o&fe^I*Z5uD)@?=~uD;ay z{O0qWP|KAi+&51|R5J3vc$XHUp8VX*pmx=ksdcUQ(!CTGcr9_8Y$ZPBG5>+f)9YVJ zNIP6HEMh&BHK{M*1jiAEeF~31?x}v0Hc{i(0VxTF#0fKm?PoC572T=(v1~2#^*4W5 zHFnHy-S$tEt9t40*jSF&%r`~Z7#K9T*=ia$hpsWto6P6nWU)@Uqhlj=wjKr60 zT*;fzD!t&@hVBI)WSn1IIG6BtuGKpRpU~7chvMz)`!-&E)3YSgq2UDc1noPULQ)uW z(s@i;7~HI~4k~S%Y%yWkRmP+(QgRL*ocfFb-i%DT%!mX&c?YvMJcUo@W{CrHz{#tS U#hDY9tYjwdWf5mv$qY(t02bn3asU7T diff --git a/tests/data/channels/channels/multiple_versions_channel_1/win-64/package-0.2.0-h9490d1a_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/win-64/package-0.2.0-h9490d1a_0.conda index f652c162a266c8ed419b370aebe3043c29a6fb90..6378813aa2813abe9b701b0f087f55d6c2355027 100644 GIT binary patch delta 807 zcmcb`d7G0jz?+#xmjMKB16E@5O;l4VdJpDMr*HYY^RAy@9sr2KpQXZ;Mf z=|3#zIXruVXYP^>6Wc@8bsQM|7Zu6y>C%;j%&SlW&OT8qR$s-|Ge0dYApAw z`FWbm=cBB;b=kWQSRa~dv}IGfzX|`%qv`%EqLI52QjX1xzq)+3UuXgwuLirMhP;;G zl*=yfC)(zmjj+@>abuy7qwb>T@4_9`~68rNu@J&WT&EiFCK?ROzcF%s6u{KSnuq>i;>h)zT&X`JwR}4@taCxqh=E`tpL3 z4UOFEN*8~5@$r(>42v}L79&Yxv!-8Q%LQ&?XWTbES79m^CuxypF!{ME`!;ed3rMVq4Q80MI_)RoVQM8glx~Gvp zv0-9UR6)mDRld4a;SK^f*;o^jm=XfK8JTpM5eaQNe delta 806 zcmcc3d5e=Tz?+#xmjMK})U-!U3QnkPkYRgz{(rphJ&tpg zLME)oWTuD<>vvVKSA@Gi<=fI0kX$WyC{{ANzWz(=AM2_wUb2t!|J^_D`M%QdKJ?-gJWyAv!I&?`5GVfKrE0gL5g zGAmnV%ryILZo0ek+;WMT&xCUP7!NG#bR3J@*&PWt+UMs_np>u{az&3s!rOjx{%ssO zO)Ju0$OYdzb&GYI)eWT$tg07(cfH*C+2L>Mx}D!ExCD&&N_TB-k8ygJmr=89e)f5b znhlaa_No3(z8>S8zs&k^z1=FIZCWZ{i<|DKA9!~>H6c5Nzxl%L)i3@XsVL-*UKw^J zXUF4b?--mH-mmUD>OAe$HuZ#pJ0)^iD>73)^H^KGEKWONa+24p-N35vTgw;6^RvrN z%--&nczA+huaQBfxxR|sHap`WS&dyi=iGnEcq>fsTIM#{N_@&={sWh%zmlkzcDQ0V zuW3QuB|#p^Mu`LBDK_)U`|s)qxysLAX4c{nDt^Q+e89i&Hvj!Cr4MG!-Os>UzWKtn z{Z5JNOZKnkPOMefb4ZARA@yK`enDH;$789N7{fT+%LH_HOluW7z}n6@eWyaNZ!LrN z9R{=ZSeBM_X{Yuww(S0^h3pBdtc>T_@2)NFS(uil;=|13ESC`fP%LO7`-X!OKLpq$ zG*_^;--vp2V0suQ$Azj2W+$IK&H!&lCS7Jk`kuU#*&Cj~C-bnxfjQvRRm9@V2}@Pd OllQTRv#nqTr8NK#tV*E( diff --git a/tests/data/channels/channels/multiple_versions_channel_1/win-64/package-0.3.0-h9490d1a_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/win-64/package-0.3.0-h9490d1a_0.conda new file mode 100644 index 0000000000000000000000000000000000000000..a29f766b9caa5131e14b2f85c8097e5988aa56bc GIT binary patch literal 1244 zcmWIWW@gc40D&91?$M_iQuY2r0WX6HLvCtGVoG93qFz>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIfyic$>5N5av&~Tt0-GapA?8Nj`T?0L1 zJpOBE72O5|EwEP&;9?##a5m2@Kq4nHii|1qCP6Hps9&J^w%6 z_a4W&N+A>0R+%q{I?5Z$OGDl{WOJBqd#-qA>c(&1L-tLmuV2Kc>0+z&@7e#qbH2TP*Y=OL-p8>pBD{b9#aK+EHf`HpD3TnGC{lsqai*MpDVziCKDp(&?|RmlJv}v zX<-{TmFZpSOZ=AM)zJ`b3OV)K3$V_f`*speD$_VTqSqCHosW2@kYPq`pE5%_@WP9Xo)al zo@L*lvyXA2Yxnu!*gHD0R+5)jwfkGhUp@LbtVQ+e&V&ccW~Xmidb(XpFPUxHVK$@w zr5vvdm%P6rH}%nO8LkhdI<67ioSS}%22OtM_-l`q(Q_-VFstPE4pO)0Zu~rd_pyHm zUo6`H;$Ein^X*00X0!dRvVU_eEmd1QZQDE_^T_3MzuY{L zW-M&=jc@Jl`YDZ_+h-|mKDd45MD4kpFQ?eQE${JX^Hyl+@|mbsDn8{g|AEWXUr9(i zTv04yI+W#^ZkWQ7#1KE>W5qq&vdtbMu?bQV?YF%c9Txfh*}(MUWa0CNv$yfZZ2rs@ zP-4!V_gA#5e(CR6UXIz!FGZ&@FlcbI{b5R9VUZuBD!ZVyAf-Ly;JzM*ho2t?i7#o? z!#6M4a)za=j1TX;y}r-z%AFpUOos(0n73%(xuj*pXePld z>BQv5lyy*X+jNT`EAKHnrpSggbY?a&26!_v=`!QatI%A+u%r>hBA9d0jYH3!2;*Xb lOmg!ox-IBg1!0RBBLn#vC%~JP4P+EE5Xt}zTEz_F0RZ0O$aVk# literal 0 HcmV?d00001 diff --git a/tests/data/channels/channels/multiple_versions_channel_1/win-64/package2-0.1.0-h9490d1a_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/win-64/package2-0.1.0-h9490d1a_0.conda index 01a8811e77eac6d75125f6fc65eabc660232e87c..59087933f378eff4a5bf2c6935fe4314b4976178 100644 GIT binary patch delta 699 zcmbQnIhB(yz?+#xmjMK>=ekEv90jSMhaW2^q(1P1Z1d<y{=kB&W@9)^%iXVsKzM<;}>H_VeqJ*ISibD?d#A{6tDAqyO-g`>%taL^(^iXU|BV zBU^jqU2~?|zNdz|_Z5Ga${U`uTi43%c~0k5eV1yiG+%X8s(99k_*`|X;H5ckjCy_< zW}MgM%w1=kKCaWb{`xKp=Icr^)iJG+L1nL+J_#F~&okmbv~OLj+MCN49oW_?>e)Yi zBy1Mr9eU<}PzuL`O_yDEPP01kb&lX8&EHS0Dm~**C%xh4J6s~1{Mh4J?9}u>Q_s#= zYjXIs@Esq4pI@im&+|Xwu)%?2&pzUAmd4X9J60c`sMt5>H7D+^_+>ljIIh3JdU|d-pC|UKj~Zmdxo^6LC9QQ z-c2i3SrnB?n;m=k^g!txe>T^Lc?VshIoc*(l5JsYX>Bw)q`<)N{Sbpr!L+W=$6PNl zdT_Xv3+V39Q|?pc+i`>;t3tf4L3;)B@xzME2fp$+S7fAbNMA91av^)csyO30yJbsz zmOe{U@nB|hk!y%~I4x`(l_s=hCmv*Rs z{$J-;b-ugv(}P*LHyu^Exf%8p*DEO8Q)f&~Xl`NZWX_K&ZP<~~_>j?|g;R$S)%24V z7fU7^Gn&=EWCYvD0HZaw>iJ;O{}Xa{`=!dn zXS{t4cdF`7>mb`jqLGoyqJR?<2tfuV&@-h9jIxqLdloBt%!pLV5P%j#LP--`OwF13#1<=D-X z*^FA!`G-@d45MjgJdnI9Avm7tq^c z9Fe|4VoxD^!YV7{IlE;`dzL;+Q}JMCa*=C@c{pvIl5m1`vVyZkf{MFt#F1|*d?uM& z85N^=`5ijINrI7=NtYRs<|Y?1d&3jmrIa1Oz)U=SDOXE2NKk_%XABeC+9q<_jbK_Agn(?zRR?OdK& z^pj!BWXUyEJdO-b42}%qTmm|;KC9;&f7S3>yn65AV*-rXv!>;pleg_PY$-HI`+M#B z!{aUQ+O4JT7GGIvy~O&v^0Alh%Sse)ia*^`@8l@SeywzwcKG`DYm6s$u4&O{zwl^H zv8TzkEiX3Cv-%};J?+jTo|K-9HJOuL9e*!f_0D@ko%wP;r}akbCjNVop}>4>!ZMam zwM%#)+}S)^4D)s%9|~>=FJg&l~I4yrm{1gEBm#a2D5m4QjCOWtm)rt<%ez` zy0-Jn?iO=ToA|pgH*a3Xdcxs>Ld&HuT`u{x+gCTV9o{YKcXr1;*0#Q{?32D%{+PD# z{K4;Un3qStQ(jss@VDKL+mUCBnVxXcJDMQ-pkT5Avb_gO^ux`z?+dtml=^XPBWzH{f7cx1`$XE0?8$ldzg*j miDvRK=6Em%9M`%mE^4qihS34utZX37%s?myOb4mVARYjSc?6>X delta 648 zcmbQqIh~U)z?+#xmjMK})U-!UI{(tD#Y_M1GwaDdztd}e z4wHBCnzu&&lHu=jn zcjjO8TC(lK1-*mw7T)tZCfl&G>TJQgvMYwmX3d{y!^UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIfTvP7sBADT-K*NE0bPE!bvlG)(jdTt4 zjP(q3Gb~Lk4N?pf;|=sm5{vYzic3J2=0Yun(HdLz|0Xc7%Q7pLZz!K>f%BOtk2?og~`cD;X#$fx)IR}@=UxF4DPv)*2P@AIQB zl?7+Fy;(4cl}kav@VdpG&GH--^F>Y_m~cVG&cRA4JAi@vG7~eZ9~2y~FNXO+4d{o= zytI7cJn@XYLb+;uVP(h(NBgglO@+w z@i;L!GdMDwYGq>S{`KeNZ6DjNM=!G8uP}5uFlX7)*`MA0lX((ldLs9KE&XA*@b|;K z&UZVHF121_{ayLkOZR0ZiZ{hW;}B8D}yt zCjWgjZTb$g$71OU$u7x$vvs&`>4%oYH+|jx^O3?Atz@Z}{e5gk2|SsMlV^UaUBWBr zeeGAYrWxy&zovmk>w34Tr?*($iZ}I7cr^3StzGSHnG)$qDN;LkWc^zEzGZuB?%prE zTg+|Z@4no;`Gms*g_cWSx?J*Ww=ZsJJG@(TYMRe`CgaVGIxNelUTFEaQEqzn|GS?q z6tDjM_*M0FyPrkJD(`Lyh_hVl%)d+0RiVM-n8&1DjN(&{^B=gp{i>lELm>MH0hXte z`2yJsq$Ld^=JJYdTCvKasI1!b*vqE}O6Rb%u|CXOxX6&@u*XY2C+0)z9C|kJFdW!x zz`#9c<)giY^Gg_nn=Z zGc0>$dU)sUz~eKr>fAn=C?q^#d?T7?C_0njc5fq(BBL^6)=ekEvEBB_ODmOR7p5l51g?s9ZsR_+3Or6c zd&=Fc``8>c$Dhi|GhKT>KvIJ2(2h(9d|`94))`+w&!X%&h(k1Z9iQC@Rj>%zIkU;WM!# zMNWLmd-jT7OMh)-?22kI?^xuSw1$yubNsi(^>5yB&pkhlL9ootbXKyrdE+DI1-{34 z11>T*^#?sa5m}PgpX^;`x{kTk=vCIoR;J`N#uMi35#oQ))zH3;f#JK6gV?#C)OmU@ z8GR0@Sp<~wtmbhKSiSJc0>fPgc^w<`&ZS>gzVLPyr}$ynA2+Wm|CDXG#ImgVUD-UaYjkuaB(G(={F=bv?vuwA;LXUS%Zx~q slM|S|;fZqcX66Vm2b`jWS!~r{DG5dgc(byB(ik%k3NSJ-R562i0HL)kZvX%Q delta 706 zcmZ3$`Hh1wz?+#xmjMK})U-!U!lYiFRtM7e& zw577(?6x-xCb4oe>?y8SP`Ibgn3~Ys!qmx}A6440Bct&lqeBa)4kN0$;;;4RPS#=6 zuYbx2wu=EqYi!m3o4_D`myhAtbPqX))iyV_@%FHFMem%nR-@apD{sAs>q&)Y-)B5N zw4T?V!I8n9fst9Yw(jX%9n;f?USz&+U)!=lVwvLX&-T30+Jy?)f%{8aEsT_VQ!IlZfVX8+=ASJa zM{-JIk7$me&Y~r|BhfRI+EdTH)jjk{e3fkhPLlVokZW8M-I&Oetto5PVkrL+Z_2^)>|)~my)~qCuMQ{ z`CL}d#t-+Z1HSOM=I53#ZfLjPEjcyKCzttr_1yh)&c$nYT=aWkFL0&(`nIa~=Obku zKR+tDa7^=|v`Klz;`>#pZVD4Tj(AMk#V9`IIRAmm+pij$F$A(#h_f73kzK_1z|1Ib z!!9|Ul)%u!CvU!G^;|w(F1wqt$+)b0#nY~37wg#$dnocdF&|pzAeAW1&`^}fAZFox zwDPgiO9qt|HH!|hGpS9}Q)KlF4@lf=m1p28dyrL;B(P&&8Z+-(j%zcu!t(Dh&RBJh z=XsvHZ1T#TlAMUq7^FZ+F(<)zH_ zM*`yi9@w-ly`E>9^H@9dmeqH8mvwp#M>Er7H(cFt;->%o8ty+Y&OG9Iu_j@4;-z^D z{&Acti@9+>axvc_x0gA}{{%mIFnvBJHUF2!V;`@@Q>J>AFQ5IX_6Wa~^1Q!-%OvhH zMf_i_V-=rvbF#6M+}Gt1!SgPCsh{%m80V=2x3YSsPMk7nU$M^9eV>In6CWtFaJ-b{ zdM{J{{GSlVwTBxI?d3>)UA;)`#;YuA?h2C*>&H=Zb@Nix6)!79&Mm*^ynoy6CsTeH zPWXJL=BwRLj~Cbc76{4~b15m#)LfTpT+rb&u_HxJe9C+FieF2AZDj0tdQq9aP-Nt0B=SnU1mhWo1DPx4NrNKH#0|oIp9Pk%wnqsOH432 Vz?+o~l+2icP=Jwvp_UoM0{{%-Fz)~W delta 676 zcmZ3?`Hh1wz?+#xmjMK})U-!UM)|}RGb@bJXwcPzy2vB*fa(ht+7@AZvun(T|S0w*FEGMR@>azmg`b{ z_m$51=qX2KT(_rpElLsiTz#hS;dM5921f>ahDImT+PbH6ZEmJ!nrt;c5@r;^d->wo zpNglidC8oJx|-kXAX9iVrr3Rv`+Q+Dm8xQQg(-bcJf)}f&UmGNxqfot>cp#Sg_MG$ z?{^w3Vv?8=V#K{oitXmB*^~1M=k`cWY3vcrG4)xsEWO_4VlDU8{AaVO&#&y!Tq5rz z$CCN5X{vb)v(#`1ObUv{!`CNkWwp7@2wHNUoeaYOt5-I7z&eDayM|6uv& za%^Aexte3E-6hux+k9iaWO&t8-EQi{P@@ZpcSIsA)q5t+G;~vF@Hpl%X&0mTl;ivd zE^ohTXvPr8{y~7{>14h@_5x{1^N3h}u}v#hSrnC3n;v`l^g!txb~aW;t>^Poed}vm zZQ^)2b~70sGGbu(euzP*U|HAqW3`tUeK>pzB6Me*ZsJbh&y&?NJRoteRi1&X>_JvV zlE99AY0SKDIlkq5Ei!t?Fm2TVp67Y)vdOD{N}jyj&@hpGL->xPAt_8b=4?hSEIlkM zSh+X09%j$=$89#&qycwBvnRPkgX=!pVvo}03O@6=}0p@_yi35wR8Z3Rl V=m2k4HjrLsAQS+mp#WwO4**hM2U-9C diff --git a/tests/data/channels/channels/multiple_versions_channel_1/win-64/package3-0.3.0-abc.conda b/tests/data/channels/channels/multiple_versions_channel_1/win-64/package3-0.3.0-abc.conda new file mode 100644 index 0000000000000000000000000000000000000000..2515a539f5ce8444baebae2dd777fa37cb24e6eb GIT binary patch literal 1187 zcmWIWW@gc40D&91?$M_iQuY2r0WX6HLvCtGVoG93qFz>UejX!(0D~M@DFd9YR!Yv# zOG%6`$WD(>%P-1JEQv2mEh^5;&r`B8strIfTzHGXIhf&cK*NE0bPE!bvlG)(jdcz5 zjP(q36O)qlN)n6os)|cMw&g-?gV7pW_5UU?u*)(tJaQ2boKV{!!}j$2|9Ibf9Oo*9 zOj!9otm``^o58E!^CKX+TJBJ+WOjY{ll${mICBN|cc_2?bvw;!S@w@B{Pr@884|IHHURpi@*9$R0 zoDZWRu9tQdU?`jEE9bD<=EgSOGfceROQ)^T=(gp(_k4PRA@ z(WEoKJ>@^RUimY5t3)-^t-4h@KQ5WwPEKj5x|MGlzTnZ0T~@b`JhthxHnifu9C0N- zcjfNSYrk-DCO%MT;dmw4b??@@4m)9v8xPkW+RGt%f9EE#vPasxIV&u-%yv}YciC*+ z>JNeCv%=-4|M#!zTe&T4W#=M}`BL&`?<6Jt7YNE0b15yHshO9`SJ2@zu_HxJe9C+F zieF2AZDj0NJOsj2F}%v#of+c+h=i z@e>`Z?Z-E^t~+KUx^P~TSiHuDSci{Xwxs&f1rsx^mF5d2ab>o#AGK#h= zJ^UB+%1^IOZ=TiD#rMC#vq6ey(=9-ypR`q&~b7pFo`iT=`!Qae$eF4u%r>h wBA6M`jYH3H2;*XbOwzL-y7}mN0%5)sBLg`(B*2@M4P*#25DEZ|sAUH60REA=_W%F@ literal 0 HcmV?d00001 diff --git a/tests/data/channels/channels/multiple_versions_channel_1/win-64/package4-0.1.0-h9490d1a_0.conda b/tests/data/channels/channels/multiple_versions_channel_1/win-64/package4-0.1.0-h9490d1a_0.conda index 5613c3733bd1086e2b713333f71a4bfcd99cadb9..dd3bb982117c7544fdeac5cfd43812811f6c8ad1 100644 GIT binary patch delta 706 zcmZ3+xs;PHz?+#xmjMK>=ekEv8=&1_*E1BxAA<)%I*aX zY>#`+Eizo;8(7D2|4>+sbPr>VXs_eiQ`5H0-}P);>!01OFYkTkzHj+*{secY1RYNM zm(2S@&gSbMo7b>yz83esEx!GM{=e6^tzEs@*CuEe^TN+2mtwEx=dRxUd9BF8g=wpg zud_JH%JeNT=OO>ac+uOZuW=?G*yA30KH$r>vfV#Fq?eYu+FZ|g6C1s~pt?JHfA@J{q*g{gwrqrT^dt{uwPkvPD5Zk>|cX+L`h?rn-( zE1UGo7-t-FPCE2dZ^e>j0n8juRwt%9e$;x-z9r$d(xGEY4`;R&ES$TM&B0AH#ONKv zlvN3B#oHJ6ZCpK5vh#9-!$kIs@EuP>byFC($uL{DFuF-)9aPw+Q)n=0&2@!M@*)kL zCmVq&fssj<8IjT^H!*v|liK8~%<*6jIEC1-xTwKW28<5yW@Q7V8D=1q1E!urW)Kem DRa_|I delta 707 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 $PREFIX/bin/package$PKG_VERSION.bat + - echo "echo package on windows" > $PREFIX/bin/package.bat + else: + - echo '#!/bin/sh' > $PREFIX/bin/package$PKG_VERSION + - echo "echo package$PKG_VERSION on unix" >> $PREFIX/bin/package$PKG_VERSION + - chmod +x $PREFIX/bin/package$PKG_VERSION + - echo '#!/bin/sh' > $PREFIX/bin/package + - echo "echo package on unix" >> $PREFIX/bin/package + - chmod +x $PREFIX/bin/package + + - package: + name: package2 + version: ${{ version }} + + build: + script: + - mkdir -p $PREFIX/bin + - if: win + then: + - echo "echo package2$PKG_VERSION on windows" > $PREFIX/bin/package2.bat + else: + - echo '#!/bin/sh' > $PREFIX/bin/package2 + - echo "echo package2$PKG_VERSION on unix" >> $PREFIX/bin/package2 + - chmod +x $PREFIX/bin/package2 + + - package: + name: package3 + version: ${{ version }} + + requirements: + run_exports: + - ${{ pin_subpackage('package3', exact=True) }} + + build: + number: 1 + string: abc + script: + - mkdir -p $PREFIX/bin + - if: win + then: + - echo "echo package3$PKG_VERSION on windows" > $PREFIX/bin/package3.bat + else: + - echo '#!/bin/sh' > $PREFIX/bin/package3 + - echo "echo package3$PKG_VERSION on unix" >> $PREFIX/bin/package3 + - chmod +x $PREFIX/bin/package3 + + - package: + name: package4 + version: ${{ version }} + + requirements: + run: + - package3 == ${{ version }} + + build: + script: + - mkdir -p $PREFIX/bin + - if: win + then: + - echo "echo package4$PKG_VERSION on windows" > $PREFIX/bin/package4.bat + else: + - echo '#!/bin/sh' > $PREFIX/bin/package4 + - echo "echo package4$PKG_VERSION on unix" >> $PREFIX/bin/package4 + - chmod +x $PREFIX/bin/package4 diff --git a/tests/data/pixi_build/build-variant-conda-config-python/corp-pinning/conda_build_config.yaml b/tests/data/pixi_build/build-variant-conda-config-python/corp-pinning/conda_build_config.yaml new file mode 100644 index 0000000..417ae36 --- /dev/null +++ b/tests/data/pixi_build/build-variant-conda-config-python/corp-pinning/conda_build_config.yaml @@ -0,0 +1,4 @@ +package3: + - 0.1.0 # [unix] + - 0.2.0 + - 0.3.0 diff --git a/tests/data/pixi_build/build-variant-conda-config-python/pixi.toml b/tests/data/pixi_build/build-variant-conda-config-python/pixi.toml new file mode 100644 index 0000000..41146b3 --- /dev/null +++ b/tests/data/pixi_build/build-variant-conda-config-python/pixi.toml @@ -0,0 +1,32 @@ +[workspace] +build-variant-files = [{ file = "./corp-pinning/conda_build_config.yaml" }] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "variant-conda-config-python" +platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] +preview = ["pixi-build"] + +[dependencies] +variant-conda-config-python = { path = "." } + +[package] +name = "variant-conda-config-python" +version = "1.0.0" + +[package.build.backend] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "pixi-build-python" +version = "*" + +[package.host-dependencies] +hatchling = "*" +package3 = "*" +python = "*" + +[package.build.config] +noarch = false diff --git a/tests/data/pixi_build/build-variant-conda-config-python/pyproject.toml b/tests/data/pixi_build/build-variant-conda-config-python/pyproject.toml new file mode 100644 index 0000000..fc0070c --- /dev/null +++ b/tests/data/pixi_build/build-variant-conda-config-python/pyproject.toml @@ -0,0 +1,12 @@ +[project] +description = "Variant conda config test package built with pixi-build-python." +name = "variant-conda-config-python" +requires-python = ">=3.11" +version = "1.0.0" + +[build-system] +build-backend = "hatchling.build" +requires = ["hatchling"] + +[tool.hatch.build.targets.wheel] +packages = ["variant_conda_config_python"] diff --git a/tests/data/pixi_build/build-variant-conda-config-python/src/variant_conda_config_python/__init__.py b/tests/data/pixi_build/build-variant-conda-config-python/src/variant_conda_config_python/__init__.py new file mode 100644 index 0000000..a4f6306 --- /dev/null +++ b/tests/data/pixi_build/build-variant-conda-config-python/src/variant_conda_config_python/__init__.py @@ -0,0 +1,3 @@ +def current_variant() -> str: + """Return a marker string used by the variant conda config python test package.""" + return "variants from conda config python" diff --git a/tests/data/pixi_build/build-variant-conda-config-rattler-build/corp-pinning/conda_build_config.yaml b/tests/data/pixi_build/build-variant-conda-config-rattler-build/corp-pinning/conda_build_config.yaml new file mode 100644 index 0000000..417ae36 --- /dev/null +++ b/tests/data/pixi_build/build-variant-conda-config-rattler-build/corp-pinning/conda_build_config.yaml @@ -0,0 +1,4 @@ +package3: + - 0.1.0 # [unix] + - 0.2.0 + - 0.3.0 diff --git a/tests/data/pixi_build/build-variant-conda-config-rattler-build/pixi.toml b/tests/data/pixi_build/build-variant-conda-config-rattler-build/pixi.toml new file mode 100644 index 0000000..1b87275 --- /dev/null +++ b/tests/data/pixi_build/build-variant-conda-config-rattler-build/pixi.toml @@ -0,0 +1,24 @@ +[workspace] +build-variant-files = [{ file = "./corp-pinning/conda_build_config.yaml" }] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "variant-conda-config" +platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] +preview = ["pixi-build"] + +[dependencies] +variant-conda-config = { path = "." } + +[package] +name = "variant-conda-config" +version = "1.0.0" + +[package.build.backend] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "pixi-build-rattler-build" +version = "*" diff --git a/tests/data/pixi_build/build-variant-conda-config-rattler-build/recipe.yaml b/tests/data/pixi_build/build-variant-conda-config-rattler-build/recipe.yaml new file mode 100644 index 0000000..587bcc7 --- /dev/null +++ b/tests/data/pixi_build/build-variant-conda-config-rattler-build/recipe.yaml @@ -0,0 +1,21 @@ +package: + name: variant-conda-config + version: 1.0.0 + +requirements: + host: + - package3 + +build: + number: 0 + script: + - if: win + then: + - if not exist "%PREFIX%" mkdir "%PREFIX%" + - echo @echo off > %PREFIX%\\bin\\variant-conda-config.bat + - echo echo variants from conda_build_config >> %PREFIX%\\bin\\variant-conda-config.bat + else: + - mkdir -p $PREFIX/bin + - echo "#!/usr/bin/env bash" > $PREFIX/bin/variant-conda-config + - echo "echo variants from conda_build_config" >> $PREFIX/bin/variant-conda-config + - chmod +x $PREFIX/bin/variant-conda-config diff --git a/tests/data/pixi_build/build-variant-files-python/corp-pinning/config.yaml b/tests/data/pixi_build/build-variant-files-python/corp-pinning/config.yaml new file mode 100644 index 0000000..8a5acef --- /dev/null +++ b/tests/data/pixi_build/build-variant-files-python/corp-pinning/config.yaml @@ -0,0 +1,6 @@ +package3: + - if: unix + then: + - 0.1.0 + - 0.2.0 + - 0.3.0 diff --git a/tests/data/pixi_build/build-variant-files-python/pixi.toml b/tests/data/pixi_build/build-variant-files-python/pixi.toml new file mode 100644 index 0000000..94e79c7 --- /dev/null +++ b/tests/data/pixi_build/build-variant-files-python/pixi.toml @@ -0,0 +1,32 @@ +[workspace] +build-variant-files = [{ file = "./corp-pinning/config.yaml" }] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "variant-files-python" +platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] +preview = ["pixi-build"] + +[dependencies] +variant-files-python = { path = "." } + +[package] +name = "variant-files-python" +version = "1.0.0" + +[package.build.backend] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "pixi-build-python" +version = "*" + +[package.host-dependencies] +hatchling = "*" +package3 = "*" +python = "*" + +[package.build.config] +noarch = false diff --git a/tests/data/pixi_build/build-variant-files-python/pyproject.toml b/tests/data/pixi_build/build-variant-files-python/pyproject.toml new file mode 100644 index 0000000..740d30a --- /dev/null +++ b/tests/data/pixi_build/build-variant-files-python/pyproject.toml @@ -0,0 +1,12 @@ +[project] +description = "Variant files test package built with pixi-build-python." +name = "variant-files-python" +requires-python = ">=3.11" +version = "1.0.0" + +[build-system] +build-backend = "hatchling.build" +requires = ["hatchling"] + +[tool.hatch.build.targets.wheel] +packages = ["variant_files_python"] diff --git a/tests/data/pixi_build/build-variant-files-python/src/variant_files_python/__init__.py b/tests/data/pixi_build/build-variant-files-python/src/variant_files_python/__init__.py new file mode 100644 index 0000000..7ba2f15 --- /dev/null +++ b/tests/data/pixi_build/build-variant-files-python/src/variant_files_python/__init__.py @@ -0,0 +1,3 @@ +def describe() -> str: + """Return a short description used by the variant files python test package.""" + return "variants from files python" diff --git a/tests/data/pixi_build/build-variant-files-rattler-build/corp-pinning/config.yaml b/tests/data/pixi_build/build-variant-files-rattler-build/corp-pinning/config.yaml new file mode 100644 index 0000000..8a5acef --- /dev/null +++ b/tests/data/pixi_build/build-variant-files-rattler-build/corp-pinning/config.yaml @@ -0,0 +1,6 @@ +package3: + - if: unix + then: + - 0.1.0 + - 0.2.0 + - 0.3.0 diff --git a/tests/data/pixi_build/build-variant-files-rattler-build/pixi.toml b/tests/data/pixi_build/build-variant-files-rattler-build/pixi.toml new file mode 100644 index 0000000..aa4e62e --- /dev/null +++ b/tests/data/pixi_build/build-variant-files-rattler-build/pixi.toml @@ -0,0 +1,24 @@ +[workspace] +build-variant-files = [{ file = "./corp-pinning/config.yaml" }] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "variant-files" +platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] +preview = ["pixi-build"] + +[dependencies] +variant-files = { path = "." } + +[package] +name = "variant-files" +version = "1.0.0" + +[package.build.backend] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "pixi-build-rattler-build" +version = "*" diff --git a/tests/data/pixi_build/build-variant-files-rattler-build/recipe.yaml b/tests/data/pixi_build/build-variant-files-rattler-build/recipe.yaml new file mode 100644 index 0000000..573a250 --- /dev/null +++ b/tests/data/pixi_build/build-variant-files-rattler-build/recipe.yaml @@ -0,0 +1,21 @@ +package: + name: variant-files + version: 1.0.0 + +requirements: + host: + - package3 + +build: + number: 0 + script: + - if: win + then: + - if not exist "%PREFIX%" mkdir "%PREFIX%" + - echo @echo off > %PREFIX%\\bin\\variant-files.bat + - echo echo variants from file >> %PREFIX%\\bin\\variant-files.bat + else: + - mkdir -p $PREFIX/bin + - echo "#!/usr/bin/env bash" > $PREFIX/bin/variant-files + - echo "echo variants from file" >> $PREFIX/bin/variant-files + - chmod +x $PREFIX/bin/variant-files diff --git a/tests/data/pixi_build/build-variant-manifest-python/pixi.toml b/tests/data/pixi_build/build-variant-manifest-python/pixi.toml new file mode 100644 index 0000000..02be420 --- /dev/null +++ b/tests/data/pixi_build/build-variant-manifest-python/pixi.toml @@ -0,0 +1,32 @@ +[workspace] +build-variants = { package3 = ["0.3.0", "0.2.0"] } +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "variant-manifest-python" +platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] +preview = ["pixi-build"] + +[dependencies] +variant-manifest-python = { path = "." } + +[package] +name = "variant-manifest-python" +version = "1.0.0" + +[package.build.backend] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "pixi-build-python" +version = "*" + +[package.host-dependencies] +hatchling = "*" +package3 = "*" +python = "*" + +[package.build.config] +noarch = false diff --git a/tests/data/pixi_build/build-variant-manifest-python/pyproject.toml b/tests/data/pixi_build/build-variant-manifest-python/pyproject.toml new file mode 100644 index 0000000..c491a95 --- /dev/null +++ b/tests/data/pixi_build/build-variant-manifest-python/pyproject.toml @@ -0,0 +1,15 @@ +[project] +description = "Variant manifest test package built with pixi-build-python." +name = "variant-manifest-python" +requires-python = ">=3.11" +version = "1.0.0" + +[project.scripts] +variant-manifest-python = "variant_manifest_python:main" + +[build-system] +build-backend = "hatchling.build" +requires = ["hatchling"] + +[tool.hatch.build.targets.wheel] +packages = ["variant_manifest_python"] diff --git a/tests/data/pixi_build/build-variant-manifest-python/src/variant_manifest_python/__init__.py b/tests/data/pixi_build/build-variant-manifest-python/src/variant_manifest_python/__init__.py new file mode 100644 index 0000000..00dfd13 --- /dev/null +++ b/tests/data/pixi_build/build-variant-manifest-python/src/variant_manifest_python/__init__.py @@ -0,0 +1,3 @@ +def main() -> None: + """Entry point used by the variant manifest python test package.""" + print("variants from manifest python") diff --git a/tests/data/pixi_build/build-variant-manifest-rattler-build/pixi.toml b/tests/data/pixi_build/build-variant-manifest-rattler-build/pixi.toml new file mode 100644 index 0000000..fb10cc3 --- /dev/null +++ b/tests/data/pixi_build/build-variant-manifest-rattler-build/pixi.toml @@ -0,0 +1,24 @@ +[workspace] +build-variants = { package3 = ["0.3.0", "0.2.0"] } +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "variant-manifest" +platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] +preview = ["pixi-build"] + +[dependencies] +variant-manifest = { path = "." } + +[package] +name = "variant-manifest" +version = "1.0.0" + +[package.build.backend] +channels = [ + "https://prefix.dev/pixi-build-backends", + "https://prefix.dev/conda-forge", +] +name = "pixi-build-rattler-build" +version = "*" diff --git a/tests/data/pixi_build/build-variant-manifest-rattler-build/recipe.yaml b/tests/data/pixi_build/build-variant-manifest-rattler-build/recipe.yaml new file mode 100644 index 0000000..570df66 --- /dev/null +++ b/tests/data/pixi_build/build-variant-manifest-rattler-build/recipe.yaml @@ -0,0 +1,21 @@ +package: + name: variant-manifest + version: 1.0.0 + +requirements: + host: + - package3 + +build: + number: 0 + script: + - if: win + then: + - if not exist "%PREFIX%" mkdir "%PREFIX%" + - echo @echo off > %PREFIX%\\bin\\variant-manifest.bat + - echo echo variants from manifest >> %PREFIX%\\bin\\variant-manifest.bat + else: + - mkdir -p $PREFIX/bin + - echo "#!/usr/bin/env bash" > $PREFIX/bin/variant-manifest + - echo "echo variants from manifest" >> $PREFIX/bin/variant-manifest + - chmod +x $PREFIX/bin/variant-manifest diff --git a/tests/data/pixi_build/rattler-build-backend/source-dependency/a/recipe.yaml b/tests/data/pixi_build/rattler-build-backend/source-dependency/a/recipe.yaml index a43e33b..7c024c6 100644 --- a/tests/data/pixi_build/rattler-build-backend/source-dependency/a/recipe.yaml +++ b/tests/data/pixi_build/rattler-build-backend/source-dependency/a/recipe.yaml @@ -6,7 +6,7 @@ build: script: - if: win then: - - mkdir "%PREFIX%" + - if not exist "%PREFIX%" mkdir "%PREFIX%" - echo hello from package a! > "%PREFIX%\hi" else: - mkdir -p $PREFIX diff --git a/tests/data/pixi_build/rattler-build-backend/source-dependency/b/recipe.yaml b/tests/data/pixi_build/rattler-build-backend/source-dependency/b/recipe.yaml index ee6ba47..5b30b8b 100644 --- a/tests/data/pixi_build/rattler-build-backend/source-dependency/b/recipe.yaml +++ b/tests/data/pixi_build/rattler-build-backend/source-dependency/b/recipe.yaml @@ -5,14 +5,14 @@ package: build: script: - if: win - then: | - type "%BUILD_PREFIX%\hi" - mkdir "%PREFIX%" - copy "%BUILD_PREFIX%\hi" "%PREFIX%\hi-from-a" - else: | - cat $BUILD_PREFIX/hi - mkdir -p $PREFIX - cp $BUILD_PREFIX/hi $PREFIX/hi-from-a + then: + - type "%BUILD_PREFIX%\hi" + - if not exist "%PREFIX%" mkdir "%PREFIX%" + - copy "%BUILD_PREFIX%\hi" "%PREFIX%\hi-from-a" + else: + - cat $BUILD_PREFIX/hi + - mkdir -p $PREFIX + - cp $BUILD_PREFIX/hi $PREFIX/hi-from-a requirements: build: diff --git a/tests/integration_python/test_build.py b/tests/integration_python/test_build.py index 5c4b72e..32ba5bc 100644 --- a/tests/integration_python/test_build.py +++ b/tests/integration_python/test_build.py @@ -33,49 +33,6 @@ def test_build_conda_package( assert len(built_packages) == 1 -def test_build_conda_package_variants( - pixi: Path, simple_workspace: Workspace, multiple_versions_channel_1: str -) -> None: - # Add package3 to build dependencies of recipe - simple_workspace.recipe.setdefault("requirements", {}).setdefault("build", []).append( - "package3" - ) - - # Add package3 to build-variants - variants = ["0.1.0", "0.2.0"] - simple_workspace.workspace_manifest["workspace"].setdefault("channels", []).insert( - 0, multiple_versions_channel_1 - ) - simple_workspace.workspace_manifest["workspace"].setdefault("build-variants", {})[ - "package3" - ] = variants - - # Write files - simple_workspace.write_files() - - # Build packages - verify_cli_command( - [ - pixi, - "build", - "--manifest-path", - simple_workspace.package_dir, - "--output-dir", - simple_workspace.workspace_dir, - ], - ) - - # Ensure that we don't create directories we don't need - assert not simple_workspace.workspace_dir.joinpath("noarch").exists() - assert not simple_workspace.workspace_dir.joinpath(CURRENT_PLATFORM).exists() - - # Ensure that exactly two conda packages have been built - built_packages = list(simple_workspace.workspace_dir.glob("*.conda")) - assert len(built_packages) == 2 - for package in built_packages: - assert package.exists() - - def test_no_change_should_be_fully_cached(pixi: Path, simple_workspace: Workspace) -> None: simple_workspace.write_files() verify_cli_command( diff --git a/tests/integration_python/test_variants.py b/tests/integration_python/test_variants.py new file mode 100644 index 0000000..72f473e --- /dev/null +++ b/tests/integration_python/test_variants.py @@ -0,0 +1,198 @@ +import shutil +from pathlib import Path + +import pytest +import rattler +import tomli_w +import tomllib + +from .common import CURRENT_PLATFORM, verify_cli_command + + +@pytest.mark.parametrize( + "workspace_dirname", + ["build-variant-manifest-rattler-build", "build-variant-manifest-python"], +) +def test_inline_variants_produce_multiple_outputs( + pixi: Path, + tmp_pixi_workspace: Path, + build_data: Path, + multiple_versions_channel_1: str, + workspace_dirname: str, +) -> None: + test_workspace = build_data.joinpath(workspace_dirname) + shutil.copytree(test_workspace, tmp_pixi_workspace, dirs_exist_ok=True) + + manifest_path = tmp_pixi_workspace.joinpath("pixi.toml") + manifest = tomllib.loads(manifest_path.read_text()) + manifest["workspace"]["channels"].append(multiple_versions_channel_1) + manifest_path.write_text(tomli_w.dumps(manifest)) + + output_dir = tmp_pixi_workspace.joinpath("dist") + + verify_cli_command( + [ + pixi, + "build", + "--manifest-path", + manifest_path, + "--output-dir", + output_dir, + ], + ) + + # Ensure that we don't create directories we don't need + assert not output_dir.joinpath("noarch").exists() + assert not output_dir.joinpath(CURRENT_PLATFORM).exists() + + # Ensure that exactly two conda packages have been built + built_packages = list(output_dir.glob("*.conda")) + assert len(built_packages) == 2 + for package in built_packages: + assert package.exists() + + +@pytest.mark.parametrize( + "workspace_dirname", + ["build-variant-manifest-rattler-build", "build-variant-manifest-python"], +) +def test_inline_variants_change_triggers_rebuild( + pixi: Path, + tmp_pixi_workspace: Path, + build_data: Path, + multiple_versions_channel_1: str, + workspace_dirname: str, +) -> None: + test_workspace = build_data.joinpath(workspace_dirname) + shutil.copytree(test_workspace, tmp_pixi_workspace, dirs_exist_ok=True) + + manifest_path = tmp_pixi_workspace.joinpath("pixi.toml") + manifest = tomllib.loads(manifest_path.read_text()) + manifest["workspace"]["channels"].append(multiple_versions_channel_1) + manifest_path.write_text(tomli_w.dumps(manifest)) + + verify_cli_command( + [ + pixi, + "install", + "--manifest-path", + manifest_path, + ], + ) + + verify_cli_command( + [pixi, "run", "package3"], + cwd=tmp_pixi_workspace, + stdout_contains="0.3.0", + ) + + manifest["workspace"]["build-variants"]["package3"] = ["0.2.0"] + manifest_path.write_text(tomli_w.dumps(manifest)) + + verify_cli_command( + [pixi, "run", "package3"], + cwd=tmp_pixi_workspace, + stdout_contains="0.2.0", + ) + + +@pytest.mark.parametrize( + "workspace_dirname", + [ + "build-variant-files-rattler-build", + "build-variant-files-python", + "build-variant-conda-config-rattler-build", + "build-variant-conda-config-python", + ], +) +def test_variant_files_produce_multiple_outputs( + pixi: Path, + tmp_pixi_workspace: Path, + build_data: Path, + multiple_versions_channel_1: str, + workspace_dirname: str, +) -> None: + test_workspace = build_data.joinpath(workspace_dirname) + shutil.copytree(test_workspace, tmp_pixi_workspace, dirs_exist_ok=True) + + manifest_path = tmp_pixi_workspace.joinpath("pixi.toml") + manifest = tomllib.loads(manifest_path.read_text()) + manifest["workspace"]["channels"].append(multiple_versions_channel_1) + manifest_path.write_text(tomli_w.dumps(manifest)) + + output_dir = tmp_pixi_workspace.joinpath("dist") + + verify_cli_command( + [ + pixi, + "build", + "--manifest-path", + manifest_path, + "--output-dir", + output_dir, + ], + ) + + built_packages = list(output_dir.glob("*.conda")) + + # On unix, the variant has three entries, on windows only two + if rattler.Platform.current().is_unix: + assert len(built_packages) == 3 + else: + assert len(built_packages) == 2 + + +@pytest.mark.parametrize( + "workspace_dirname", + [ + "build-variant-files-rattler-build", + "build-variant-files-python", + "build-variant-conda-config-rattler-build", + "build-variant-conda-config-python", + ], +) +def test_variant_files_change_triggers_rebuild( + pixi: Path, + tmp_pixi_workspace: Path, + build_data: Path, + multiple_versions_channel_1: str, + workspace_dirname: str, +) -> None: + test_workspace = build_data.joinpath(workspace_dirname) + shutil.copytree(test_workspace, tmp_pixi_workspace, dirs_exist_ok=True) + + manifest_path = tmp_pixi_workspace.joinpath("pixi.toml") + manifest = tomllib.loads(manifest_path.read_text()) + manifest["workspace"]["channels"].append(multiple_versions_channel_1) + manifest_path.write_text(tomli_w.dumps(manifest)) + + verify_cli_command( + [ + pixi, + "install", + "--manifest-path", + manifest_path, + ], + ) + + verify_cli_command( + [pixi, "run", "package3"], + cwd=tmp_pixi_workspace, + stdout_contains="0.3.0", + ) + + uses_conda_config = "conda-config" in workspace_dirname + variant_file = tmp_pixi_workspace.joinpath( + "corp-pinning", + "conda_build_config.yaml" if uses_conda_config else "config.yaml", + ) + + variant_contents = variant_file.read_text() + assert "0.3.0" in variant_contents + variant_file.write_text(variant_contents.replace("\n - 0.3.0", "", 1)) + + verify_cli_command( + [pixi, "run", "package3"], + cwd=tmp_pixi_workspace, + stdout_contains="0.2.0", + ) From 0c7368c40658b494681961e704aa2fddefb5174a Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Tue, 14 Oct 2025 11:15:44 +0200 Subject: [PATCH 2/4] Update syntax --- .../data/pixi_build/build-variant-conda-config-python/pixi.toml | 2 +- .../build-variant-conda-config-rattler-build/pixi.toml | 2 +- tests/data/pixi_build/build-variant-files-python/pixi.toml | 2 +- .../data/pixi_build/build-variant-files-rattler-build/pixi.toml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/data/pixi_build/build-variant-conda-config-python/pixi.toml b/tests/data/pixi_build/build-variant-conda-config-python/pixi.toml index 41146b3..279d6a6 100644 --- a/tests/data/pixi_build/build-variant-conda-config-python/pixi.toml +++ b/tests/data/pixi_build/build-variant-conda-config-python/pixi.toml @@ -1,5 +1,5 @@ [workspace] -build-variant-files = [{ file = "./corp-pinning/conda_build_config.yaml" }] +build-variants-files = ["./corp-pinning/conda_build_config.yaml"] channels = [ "https://prefix.dev/pixi-build-backends", "https://prefix.dev/conda-forge", diff --git a/tests/data/pixi_build/build-variant-conda-config-rattler-build/pixi.toml b/tests/data/pixi_build/build-variant-conda-config-rattler-build/pixi.toml index 1b87275..e107721 100644 --- a/tests/data/pixi_build/build-variant-conda-config-rattler-build/pixi.toml +++ b/tests/data/pixi_build/build-variant-conda-config-rattler-build/pixi.toml @@ -1,5 +1,5 @@ [workspace] -build-variant-files = [{ file = "./corp-pinning/conda_build_config.yaml" }] +build-variants-files = ["./corp-pinning/conda_build_config.yaml"] channels = [ "https://prefix.dev/pixi-build-backends", "https://prefix.dev/conda-forge", diff --git a/tests/data/pixi_build/build-variant-files-python/pixi.toml b/tests/data/pixi_build/build-variant-files-python/pixi.toml index 94e79c7..3162c77 100644 --- a/tests/data/pixi_build/build-variant-files-python/pixi.toml +++ b/tests/data/pixi_build/build-variant-files-python/pixi.toml @@ -1,5 +1,5 @@ [workspace] -build-variant-files = [{ file = "./corp-pinning/config.yaml" }] +build-variants-files = ["./corp-pinning/config.yaml"] channels = [ "https://prefix.dev/pixi-build-backends", "https://prefix.dev/conda-forge", diff --git a/tests/data/pixi_build/build-variant-files-rattler-build/pixi.toml b/tests/data/pixi_build/build-variant-files-rattler-build/pixi.toml index aa4e62e..9f8c130 100644 --- a/tests/data/pixi_build/build-variant-files-rattler-build/pixi.toml +++ b/tests/data/pixi_build/build-variant-files-rattler-build/pixi.toml @@ -1,5 +1,5 @@ [workspace] -build-variant-files = [{ file = "./corp-pinning/config.yaml" }] +build-variants-files = ["./corp-pinning/config.yaml"] channels = [ "https://prefix.dev/pixi-build-backends", "https://prefix.dev/conda-forge", From 885add4b7850a866a654ee6032dfd78438c1fb33 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Tue, 14 Oct 2025 11:23:19 +0200 Subject: [PATCH 3/4] Update examples to also include `linux-64` --- examples/build-recipe/pixi.lock | 265 +++++++++++++++++++++++++++++++- examples/build-recipe/pixi.toml | 2 +- examples/linkerd/pixi.lock | 18 ++- examples/linkerd/pixi.toml | 2 +- 4 files changed, 283 insertions(+), 4 deletions(-) diff --git a/examples/build-recipe/pixi.lock b/examples/build-recipe/pixi.lock index 5935dfc..34ee29b 100644 --- a/examples/build-recipe/pixi.lock +++ b/examples/build-recipe/pixi.lock @@ -4,6 +4,30 @@ environments: channels: - url: https://prefix.dev/conda-forge/ packages: + linux-64: + - conda: https://prefix.dev/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://prefix.dev/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/ld_impl_linux-64-2.44-ha97dd6f_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/python-3.12.12-hfe2f287_0_cpython.conda + - conda: https://prefix.dev/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + - conda: ./recipes/bzip2 + build: hb0f4dca_0 osx-arm64: - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda @@ -19,16 +43,63 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: ./recipes/bzip2 + build: h60d57d3_0 packages: +- conda: https://prefix.dev/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 + md5: d7c89558ba9fa0495403155b64376d81 + license: None + size: 2562 + timestamp: 1578324546067 +- conda: https://prefix.dev/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + build_number: 16 + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + md5: 73aaf86a425cc6e73fcf236a5a46396d + depends: + - _libgcc_mutex 0.1 conda_forge + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + size: 23621 + timestamp: 1650670423406 - conda: ./recipes/bzip2 name: bzip2 version: 1.0.8 build: h60d57d3_0 subdir: osx-arm64 input: - hash: dc7c9f16d3adb03a761d4195d8fcdc962c2244bc45e508f8ca183afa6cb808d1 + hash: c3fa608ec3be35cb7dc57a6399ea7bcd693accd657e065dc2b6734775a13e967 + globs: + - recipe.yaml + - variants.yaml + sources: + bzip2: + path: . +- conda: ./recipes/bzip2 + name: bzip2 + version: 1.0.8 + build: hb0f4dca_0 + subdir: linux-64 + depends: + - libgcc >=15 + input: + hash: c3fa608ec3be35cb7dc57a6399ea7bcd693accd657e065dc2b6734775a13e967 globs: - recipe.yaml + - variants.yaml + sources: + bzip2: + path: . +- conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda + sha256: 3b5ad78b8bb61b6cdc0978a6a99f8dfb2cc789a451378d054698441005ecbdb6 + md5: f9e5fbc24009179e8b0409624691758a + depends: + - __unix + license: ISC + size: 155907 + timestamp: 1759649036195 - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda sha256: 837b795a2bb39b75694ba910c13c15fa4998d4bb2a622c214a6a5174b2ae53d1 md5: 74784ee3d225fc3dca89edb635b4e5cc @@ -46,6 +117,29 @@ packages: license_family: MIT size: 11857802 timestamp: 1720853997952 +- conda: https://prefix.dev/conda-forge/linux-64/ld_impl_linux-64-2.44-ha97dd6f_2.conda + sha256: 707dfb8d55d7a5c6f95c772d778ef07a7ca85417d9971796f7d3daad0b615de8 + md5: 14bae321b8127b63cba276bd53fac237 + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - binutils_impl_linux-64 2.44 + license: GPL-3.0-only + license_family: GPL + size: 747158 + timestamp: 1758810907507 +- conda: https://prefix.dev/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda + sha256: da2080da8f0288b95dd86765c801c6e166c4619b910b11f9a8446fb852438dc2 + md5: 4211416ecba1866fab0c6470986c22d6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - expat 2.7.1.* + license: MIT + license_family: MIT + size: 74811 + timestamp: 1752719572741 - conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.7.1-hec049ff_0.conda sha256: 8fbb17a56f51e7113ed511c5787e0dec0d4b10ef9df921c4fd1cccca0458f648 md5: b1ca5f21335782f71a8bd69bdc093f67 @@ -57,6 +151,16 @@ packages: license_family: MIT size: 65971 timestamp: 1752719657566 +- conda: https://prefix.dev/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda + sha256: 764432d32db45466e87f10621db5b74363a9f847d2b8b1f9743746cd160f06ab + md5: ede4673863426c0883c0063d853bbd85 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 57433 + timestamp: 1743434498161 - conda: https://prefix.dev/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda sha256: c6a530924a9b14e193ea9adfe92843de2a806d1b7dbfd341546ece9653129e60 md5: c215a60c2935b517dcda8cad4705734d @@ -66,6 +170,48 @@ packages: license_family: MIT size: 39839 timestamp: 1743434670405 +- conda: https://prefix.dev/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + sha256: 08f9b87578ab981c7713e4e6a7d935e40766e10691732bba376d4964562bcb45 + md5: c0374badb3a5d4b1372db28d19462c53 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgomp 15.2.0 h767d61c_7 + - libgcc-ng ==15.2.0=*_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 822552 + timestamp: 1759968052178 +- conda: https://prefix.dev/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + sha256: 2045066dd8e6e58aaf5ae2b722fb6dfdbb57c862b5f34ac7bfb58c40ef39b6ad + md5: 280ea6eee9e2ddefde25ff799c4f0363 + depends: + - libgcc 15.2.0 h767d61c_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 29313 + timestamp: 1759968065504 +- conda: https://prefix.dev/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + sha256: e9fb1c258c8e66ee278397b5822692527c5f5786d372fe7a869b900853f3f5ca + md5: f7b4d76975aac7e5d9e6ad13845f92fe + depends: + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 447919 + timestamp: 1759967942498 +- conda: https://prefix.dev/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 + md5: 1a580f7796c7bf6393fddb8bbbde58dc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - xz 5.8.1.* + license: 0BSD + size: 112894 + timestamp: 1749230047870 - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_2.conda sha256: 0cb92a9e026e7bd4842f410a5c5c665c89b2eb97794ffddba519a626b8ce7285 md5: d6df911d4564d77c4374b02552cb17d1 @@ -76,6 +222,26 @@ packages: license: 0BSD size: 92286 timestamp: 1749230283517 +- conda: https://prefix.dev/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 + md5: d864d34357c3b65a4b731f78c0801dc4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-only + license_family: GPL + size: 33731 + timestamp: 1750274110928 +- conda: https://prefix.dev/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda + sha256: 6d9c32fc369af5a84875725f7ddfbfc2ace795c28f246dc70055a79f9b2003da + md5: 0b367fad34931cb79e0d6b7e5c06bb1c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + license: blessing + size: 932581 + timestamp: 1753948484112 - conda: https://prefix.dev/conda-forge/osx-arm64/libsqlite-3.50.4-h4237e3c_0.conda sha256: 802ebe62e6bc59fc26b26276b793e0542cfff2d03c086440aeaf72fb8bbcec44 md5: 1dcb0468f5146e38fae99aef9656034b @@ -86,6 +252,36 @@ packages: license: blessing size: 902645 timestamp: 1753948599139 +- conda: https://prefix.dev/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda + sha256: e5ec6d2ad7eef538ddcb9ea62ad4346fde70a4736342c4ad87bd713641eb9808 + md5: 80c07c68d2f6870250959dcc95b209d1 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + size: 37135 + timestamp: 1758626800002 +- conda: https://prefix.dev/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + size: 100393 + timestamp: 1702724383534 +- conda: https://prefix.dev/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 + md5: edb0dca6bc32e4f4789199455a1dbeb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 60963 + timestamp: 1727963148474 - conda: https://prefix.dev/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda sha256: ce34669eadaba351cd54910743e6a2261b67009624dbc7daeeafdef93616711b md5: 369964e85dc26bfe78f41399b366c435 @@ -97,6 +293,15 @@ packages: license_family: Other size: 46438 timestamp: 1727963202283 +- conda: https://prefix.dev/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 + md5: 47e340acb35de30501a76c7c799c41d7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: X11 AND BSD-3-Clause + size: 891641 + timestamp: 1738195959188 - conda: https://prefix.dev/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda sha256: 2827ada40e8d9ca69a153a45f7fd14f32b2ead7045d3bbb5d10964898fe65733 md5: 068d497125e4bf8a66bf707254fff5ae @@ -105,6 +310,17 @@ packages: license: X11 AND BSD-3-Clause size: 797030 timestamp: 1738196177597 +- conda: https://prefix.dev/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + sha256: e807f3bad09bdf4075dbb4168619e14b0c0360bacb2e12ef18641a834c8c5549 + md5: 14edad12b59ccbfa3910d42c72adc2a0 + depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + size: 3119624 + timestamp: 1759324353651 - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.5.3-h5503f6c_0.conda sha256: c547508f11f214125fe5fc66da3d5a5dad6a9204315ee880b5ba65cdb32b6572 md5: 161d97c4c31b7851617119e6f851927f @@ -115,6 +331,32 @@ packages: license_family: Apache size: 3069340 timestamp: 1758040933817 +- conda: https://prefix.dev/conda-forge/linux-64/python-3.12.12-hfe2f287_0_cpython.conda + sha256: 5386d8c8230b6478ae165ff34f57d498891ac160e871629cbb4d4256e69cc542 + md5: ceada987beec823b3c702710ee073fba + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.7.1,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=14 + - liblzma >=5.8.1,<6.0a0 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libuuid >=2.41.2,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.4,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + size: 31547362 + timestamp: 1760367376467 - conda: https://prefix.dev/conda-forge/osx-arm64/python-3.12.11-hc22306f_0_cpython.conda sha256: cde8b944c2dc378a5afbc48028d0843583fd215493d5885a80f1b41de085552f md5: 9207ebad7cfbe2a4af0702c92fd031c4 @@ -136,6 +378,16 @@ packages: license: Python-2.0 size: 13009234 timestamp: 1749048134449 +- conda: https://prefix.dev/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + sha256: 2d6d0c026902561ed77cd646b5021aef2d4db22e57a5b0178dfc669231e06d2c + md5: 283b96675859b20a825f8fa30f311446 + depends: + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 282480 + timestamp: 1740379431762 - conda: https://prefix.dev/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda sha256: 7db04684d3904f6151eff8673270922d31da1eea7fa73254d01c437f49702e34 md5: 63ef3f6e6d6d5c589e64f11263dc5676 @@ -145,6 +397,17 @@ packages: license_family: GPL size: 252359 timestamp: 1740379663071 +- conda: https://prefix.dev/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda + sha256: a84ff687119e6d8752346d1d408d5cf360dee0badd487a472aa8ddedfdc219e1 + md5: a0116df4f4ed05c303811a837d5b39d8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: TCL + license_family: BSD + size: 3285204 + timestamp: 1748387766691 - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda sha256: cb86c522576fa95c6db4c878849af0bccfd3264daf0cc40dd18e7f4a7bfced0e md5: 7362396c170252e7b7b0c8fb37fe9c78 diff --git a/examples/build-recipe/pixi.toml b/examples/build-recipe/pixi.toml index 005ac27..887d55e 100644 --- a/examples/build-recipe/pixi.toml +++ b/examples/build-recipe/pixi.toml @@ -3,7 +3,7 @@ authors = ["Wolf Vollprecht "] channels = ["https://prefix.dev/conda-forge"] description = "Add a short description here" name = "build-recipe" -platforms = ["osx-arm64"] +platforms = ["osx-arm64", "linux-64"] preview = ["pixi-build"] version = "0.1.0" diff --git a/examples/linkerd/pixi.lock b/examples/linkerd/pixi.lock index 4afec31..ecd54fc 100644 --- a/examples/linkerd/pixi.lock +++ b/examples/linkerd/pixi.lock @@ -4,8 +4,12 @@ environments: channels: - url: https://prefix.dev/conda-forge/ packages: + linux-64: + - conda: ./recipes/linkerd + build: hb0f4dca_0 osx-arm64: - conda: ./recipes/linkerd + build: h60d57d3_0 packages: - conda: ./recipes/linkerd name: linkerd @@ -14,6 +18,18 @@ packages: subdir: osx-arm64 license: Apache-2.0 input: - hash: 96b8abf769786531d186ea41acb6fe54ae980c8167d693daeb1605e291a68dc2 + hash: 02dfaaeb24ff87a13a08bb9b5267b12196b0437269e7302f040e4b507cd0a94d + globs: + - recipe.yaml + - variants.yaml +- conda: ./recipes/linkerd + name: linkerd + version: 25.5.2 + build: hb0f4dca_0 + subdir: linux-64 + license: Apache-2.0 + input: + hash: 02dfaaeb24ff87a13a08bb9b5267b12196b0437269e7302f040e4b507cd0a94d globs: - recipe.yaml + - variants.yaml diff --git a/examples/linkerd/pixi.toml b/examples/linkerd/pixi.toml index cf993a4..c0dedd4 100644 --- a/examples/linkerd/pixi.toml +++ b/examples/linkerd/pixi.toml @@ -3,7 +3,7 @@ authors = ["Wolf Vollprecht "] channels = ["https://prefix.dev/conda-forge"] description = "Add a short description here" name = "build-recipe" -platforms = ["osx-arm64"] +platforms = ["osx-arm64", "linux-64"] preview = ["pixi-build"] version = "0.1.0" From eb40f94a305aac1d89903290a381379cfe8cd925 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Wed, 15 Oct 2025 11:20:49 +0200 Subject: [PATCH 4/4] Remove .env.ci --- .env.ci | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .env.ci diff --git a/.env.ci b/.env.ci deleted file mode 100644 index b7b146a..0000000 --- a/.env.ci +++ /dev/null @@ -1,5 +0,0 @@ - # Test with specific PR from pixi repository - PIXI_PR_NUMBER="4665" - - # Test with specific PR from pixi-build-backends repository - BUILD_BACKENDS_PR_NUMBER="400"