Commit Graph

2663 Commits

Author SHA1 Message Date
Antoine Prouvost d116ff8917
Add cmake-format (#2962)
* Add cmake-format

* Apply cmake-format
2023-11-07 11:08:26 +01:00
Hind-M 2b948ce1cc
Add mirrors (#2795)
* Add mirrors

* Add test for split_path_tag

* Return string instead of vector when getting auth header

* Simplify data callback

* Update comment
2023-11-07 05:29:36 +01:00
Antoine Prouvost 8683078464
Refactor CI and libamambapy tests (on Win) (#2955)
* TMP disable Unix tests

* Try refactor win CI

* Add libmambapy tests

* Run Windows libamamba tests via CMake

* Add Windows menuinst dependency

* Fix typo

* Debug libmambapy tests Win

* Add micromamba tests windows

* Call test_libmamba from different paths

* Merge workflow launchers

* Fix libmamba tests win

* Fxi

* Fix workspace key

* DEbug win

* Implement local channel tests as part of the intergration tests

* Try Win libmamba tests bash

* Cleanup

* Restore Unix tests

* Make test local channel noarch

* Fix workspace action number

* No error on test cleanup in CI

* Reduce number of threads to conda-index

* Disable local channel tests on Windows
2023-11-03 14:07:54 +01:00
Antoine Prouvost fdf2b65a27
Refactor CI and libamambapy tests (on Unix) (#2952)
* Add simple libmambapy test

* Use CMakePresets in CI

* Share workspace between jobs

* Add Conda dependency

* Remove CMake STRIP

* Fix menuinst skipping

* Refactor CMakePresets

* Change ccache key

* Add pkg-config
2023-11-02 13:55:39 +01:00
Antoine Prouvost 5564887b97
Rename env functions (#2954) 2023-10-31 16:08:49 +01:00
Antoine Prouvost 80e3475e06
Explicit and smart CMake target (#2935)
* Explicit and smart CMake target

* Only expose explicit CMake targets
2023-10-31 12:07:03 +01:00
Antoine Prouvost 33649d1005
Add refactor getenv setenv unsetenv (#2944)
* Add refactor getenv setenv unsetenv

* Move to refactored env functions
2023-10-31 10:56:33 +01:00
Julien Jerphanion cab1bbfdbb
fix: Parse `remote_connect_timeout_secs` as a double (#2949)
* fix: Parse `remote_connect_timeout_secs` as a double

Signed-off-by: Julien Jerphanion <git@jjerphan.xyz>

* test: Test parsing of `.condarc`

Signed-off-by: Julien Jerphanion <git@jjerphan.xyz>

* fixup! test: Test parsing of `.condarc`

* lint: Format .condarc

Signed-off-by: Julien Jerphanion <git@jjerphan.xyz>

---------

Signed-off-by: Julien Jerphanion <git@jjerphan.xyz>
2023-10-30 13:46:35 +01:00
Antoine Prouvost c33df03cba
Dev workflow (#2948)
* Add dev-extra tools

* Refactor CMake Presets

* Add taskfile

* Rename Taskfile

* Add .gitignore entry
2023-10-30 12:21:25 +01:00
Antoine Prouvost c32da691c1
Remove mamba (#2942) 2023-10-30 10:42:39 +01:00
Roman Inflianskas eb56046c18
Fix micromamba test dependency conda-package-handling (#2945) 2023-10-29 13:46:38 +02:00
Johan Mabille fc898b8c43 Fixed RTD build 2023-10-29 05:40:34 +01:00
Antoine Prouvost a38196e284
Move reposerver tests to micromamba (#2941)
* Move reposerver tests to micromamba

* Add micromamba channel data

* Remove mamba test

* Fix mamba path

* Restore mamba files

* Fix mamba code
2023-10-26 22:17:48 +02:00
Antoine Prouvost bca398a5dc
Refactor win encoding conversion (#2939) 2023-10-26 19:00:17 +02:00
Antoine Prouvost 6592c84084
Combine dev environments (#2937) 2023-10-26 12:48:50 +02:00
Antoine Prouvost 08cbcb70c9
Factorize Win user folder function between files (#2925)
* Cleanup headers in environment.hpp

* Add os_win.hpp

* Use factorized win_os.hpp

* Fix WindowsKnownUSerFolder enum mapping
2023-10-26 11:18:29 +02:00
Antoine Prouvost c7aba975b5
Resolve ChannelSpec into a Channel (#2899)
* Change URL custom_channel matcher

* Cannot change location at once

* Simpler channel_alias_location

* Change URL channel_alias matcher

* Refactor ChannelContext::from_url

* Add Windows URL path encoding test

* Simplify URL::set_path

* Fix URL encoding parsing

* Refactor platforms urls

* Fix missing forward declaration

* Fix Win file URL encoding

* Split Channel url functions

* Remove no-URL ctor from ChannelContext::from_name

* Remove no-URL ctor from ChannelContext::make_simple_channel

* Remove old Channel ctor

* Remove channel_alias_location

* Refactor Channel::base_url

* Try not to use location mamba.py

* Remove Channel comparison

* Try Channel::platform_url

* Refactor Channel::platform_urls to use platform_url

* Remove build_url

* Remove concat_scheme_url

* Use spec in from_name

* Tuple equality for URL

* Add tuple_hash

* Add std::hash<mamba::util::URL>

* Make CondaURL hashable

* Refactor make_channel

* New algorithm for authetification map

* Add specs::AutheticationDataBase

* Fix typo authentification > authentication

* Use AuthenticationDataBase

* Fix AuthenticationDataBase

* use AuthenticationDataBase::find_compatible

* Use canonical_name

* Add Credential check to URL

* Simplify crendential check in channel

* Refactor AuthDB credential setters

* No Channel::location in tests

* Remove Channel user scheme password

* Document AuthenticationInfo

* Remove Channel token

* Remove Channel::auth

* Remove Channel::package_name

* More replacement name > canonical_name

* Remove unused function

* No credential from URLs

* Remove unneeded header

* Disable Channel::repo_checker

This is disbled as TUF implementation is not well defined and this
function is not used except in experimental conditions.

* Apply auth info as needed

* Simplify custom_channels instanciation

* Simplify custom_multi_channels instanciation

* Review improvements
2023-10-25 19:06:46 +02:00
Isuru Fernando f23e078f2c
Fix channels with slashes regression (#2926)
* Fix channels with slashes regression

* fix formatting

* make the test isolated

Co-authored-by: Antoine Prouvost <AntoinePrv@users.noreply.github.com>

* Add more tests

* Use pytest utilities for negative testing

* Add extra test doc

---------

Co-authored-by: Antoine Prouvost <AntoinePrv@users.noreply.github.com>
2023-10-24 18:35:31 +02:00
bruchim-cisco 9e3e1c4cdd
Fix broken tcsh aliases (#2929)
Fix broken csh and tcsh multiline aliases
2023-10-24 09:41:22 +02:00
Isuru Fernando 99278ffe17
return architecture levels for micromamba (#2921)
* return architecture levels for micromamba

* fix formatting

* use function multiversioning only on x86

* fix formatting

* update test

* use __builtin_cpu_supports and check for more features

Co-authored-by: Marcel Bargull <mbargull@users.noreply.github.com>

---------

Co-authored-by: Marcel Bargull <mbargull@users.noreply.github.com>
2023-10-23 21:37:59 +02:00
Isuru Fernando 24f26a0175
Allow defaults::* spec (#2927) 2023-10-23 20:03:58 +03:00
Olivier Grisel 411cd4a456
Fix test_remove_virtual_package on Windows (#2924) 2023-10-20 11:44:22 +02:00
Olivier Grisel d0b3ea00a5
Fix support for the PackageType.VIRTUAL_SYSTEM enum (#2923) 2023-10-20 09:12:16 +03:00
Johan Mabille 00dd002fe6
Added PackageFetcher (#2917)
* Added PackageFetcher

* slight refactoring

* Additional cleanup and first pass according to review

* Last pass according to review
2023-10-19 15:26:57 +02:00
Jonas Haag e63fe80d61
Print error code if `run` fails (#2848) 2023-10-18 10:59:41 +02:00
Jonas Haag d0922122c8
Improve install instructions (#2908) 2023-10-18 11:49:41 +03:00
Jonas Haag da60313e85
Fix nodefaults in documentation (#2809) 2023-10-18 11:47:50 +03:00
Antoine Prouvost a8464367c4
Make some fixture local (#2919)
* Make xdg fixtures local

* Make create fixtures local
2023-10-17 16:27:47 +02:00
Johan Mabille 8100f0e6ef
Added missing dependency in libmambaConfig.cmake.in (#2916) 2023-10-17 15:41:09 +02:00
Casper van Elteren a395cab812
Nushell hotfix (#2841)
* Fixed ordering issue

* Added comment to try catch

* spelling

* Changed path order to prevent conflicting with system python

* Extension prompt command for starship conflict
2023-10-17 12:46:51 +02:00
Marius van Niekerk c32d3ae116
Fix for #2910 (#2911) 2023-10-13 21:54:03 +02:00
Antoine Prouvost 4e93b7967a
Add ChannelSpec (#2870)
* Make find_slash_and_platform private-lib

* Add ChannelSpec

* Add ChannelSpec::Type

* Add abs_path_or_url_to_url

* Add ChannelSpec path normalization and type detection

* Add ChannelSpec::location

* Allow any platform string in ChannelSpec

* Channel::platforms is a flat_set

* Move flat_set_caster to own file

* More flat_set in Channel

* Regenerate Python stubs

* Plug ChannelSpec into Channel

* Resolve path in ChannelSpec

* Fix env export channels

* No resolve symlink in ChannelSpec

* Fix tests on Windows

* Add ChannelSpec attribute extractors

* Add raw domain ChannelSpec test

* Use URL in read_channel_configuration

* Fix local channel name

* Improve path_to_url

* Construct from Channel from URL

* Properly parse channel alias

* Fix wrong move

* Channel alias is a CondaURL

* Add defaulted scheme to URL

* Add defaulted host to URL

* CondaURL tokens can only be at the begining

* Add CondaURL::path_without_token

* Add option to remove credentials in URLs

* Add empty cretendial URL tests

* Add str Credential options

* Add credential option to CondaURL::str

* Add split_prefix/suffix

* Add ChannelContext::from_package_path

* URL::pretty_path only on Windows

* Add ChannelContext::from_path

* Do not resolve paths in ChannelSpec

* Change mapping order in path resolving

* Compute URL canonical_name in read_channel_configurations

* Add URL::authority credentials

* Rename private URL::authentification > URL::authentifaction_elems

* Refactor URL::authority

* Refactor some read_channel_configurations

* Remove empty path URL case

* Add path_is_prefix

* Fix url_match

* Add flat_set doctest printer

* Add CondaURL doctest printer

* Alias dynamic_platform_set in ChannelSpec

* Use util:concat

* Restore subdir in matchspecs

* Make find_slash_and_platform private
2023-10-12 15:56:49 +02:00
Jonas Haag a2b62bfd95
Mark Anaconda channels as unsupported (#2904) 2023-10-10 16:55:44 +02:00
jaimergp 077d5005a6
implement mamba remove --force as --no-deps (#2856)
Co-authored-by: Johan Mabille <johan.mabille@gmail.com>
2023-10-09 23:14:07 +02:00
Antoine Prouvost 5d515fa043
Add multiple queries to repoquery search (#2897)
* Remove kENUM

* Fix Hide URL confidential

* Refactor repoquery initialization

* Hide implementation headers

* Add enum_name(QueryType)

* Add QueryType_from_name

* Mulitple queries in repoquery search

* Stubgen

* No mathspec in Json query

* Remove unused ChannelContext
2023-10-09 21:40:50 +02:00
Hind-M 620ae9500c
Add CI test for local channels (#2854)
* Add CI test for local channels

* Replace conda_prefix with mamba_root_prefix

* Add note for `-c local` in channels long description

* Throw exception if no `conda-bld` dir exists and `-c local` is given

* Add umamba local channel tests to windows CI

* Fix test_config
2023-10-06 11:11:49 +02:00
Antoine Prouvost b9837f21e2
Header cleanup filesystem follow-up (#2894)
* Header cleanup

* Header guard rename
2023-10-06 10:19:33 +02:00
Antoine Prouvost 5a302fc4cb
Filesystem library (#2879)
* move mamba_fs.hpp

* Header cleanup

* No util:: dependency in filesystem

* Change header names

* Use std::replace in filesystem
2023-10-05 20:52:41 +02:00
Antoine Prouvost 91b6c44a51
Read repodata.json using nl::json (rerun) (#2753)
* Add simdjson dependency

* Add experimental_repodata_parsing option

* Add simdjson repodata parser

* Add missing dependency

* Deactivate simdjson by default
2023-10-04 22:06:46 +02:00
Antoine Prouvost 6fe4f4d1bf
Fix win test micro.mamba.pm (#2888)
* Fix win test micro.mamba.pm

* Remove workflow
2023-10-04 14:29:03 +02:00
Antoine Prouvost 050278c738
Add FindLibsolv.cmake (#2886)
* Add FindLibsolv.cmake

* Add OSX dynamic lib names
2023-10-04 09:59:20 +02:00
Antoine Prouvost 7c02338cb5
Fix Ci (#2889)
* Pin pre-commit Python version

* update pre-commit config

* Try fix Mamba tests Windows

* use boltons

* Fix channel in tests
2023-10-03 22:20:29 +02:00
Antoine Prouvost c8e593811c
Move conda ub as lb (#2885)
Co-authored-by: Johan Mabille <johan.mabille@gmail.com>
2023-10-03 11:51:12 +02:00
Hind-M b1c4950261
[Micromamba] Add mamba tests (#2877)
* Add mamba `test_api` tests to umamba

* Add more tests
2023-10-03 10:51:16 +02:00
jaimergp e0d4f6d3c2
compatibility fixes for conda 23.9 and conda-libmamba-solver 23.9 (#2878)
* compatibility fixes for conda 23.9 and conda-libmamba-solver 23.9

* trim

* pre-commit

* raise

---------

Co-authored-by: Johan Mabille <johan.mabille@gmail.com>
2023-10-02 21:59:41 +02:00
John Blischak 427bcd5d8e
Update GitHub Actions steps to open Issues for failed scheduled jobs (#2884) 2023-10-02 20:26:17 +02:00
Antoine Prouvost 0fbb0e4fab
Use CMake targets for reproc (#2883)
* Use CMake targets for reproc

* Use reproc-cpp-static on Windows

* Upper pin on Mamba
2023-10-02 18:01:14 +02:00
Johan Mabille 474be8b9b0
Download (#2844)
* Refactored Subdir Metadata

* Plugged downloader into subdirdata

* Simplified Donwloader APIs

* Added DownloadMonitor and plugged it into channel_loader

* Simplified subdir API

* Fixed python bindings

* Changes according to review (on going)

* Added json parsers to subdirmetadata
2023-09-29 16:19:14 +02:00
Antoine Prouvost 146827c0eb
Change libsolv static lib name (#2876) 2023-09-27 13:19:10 +02:00
Antoine Prouvost be30af600a
Build micromamba win with feedstock (#2859)
* Try CI

* Remove useless header

* Try mixing static windows build with Conda

* More packages from conda-forge

* Move to yaml-cpp>=0.8.0

* Ensure proper yaml-cpp target

* Use yaml-cpp-static on Windows

* Fix versions

* Use libsolv-static from Conda-Forge
2023-09-27 10:32:47 +02:00