Commit Graph

2689 Commits

Author SHA1 Message Date
Antoine Prouvost 1230b92094
Move to Ruff (#3011)
* Use Ruff LSP

* Remove unused imports

* More Ruff fixes

* Remove unused test vars

* Explicit import

* Explicit import

* Explicit import

* Explicit import

* Explicit import

* Warning fixes

* Import fixtures

* Add ruff pre-commit

* Remove pre-commits checks superceded by ruff

* Fix imports

* Fix ruff warning

* Fix test_linking fixtures

* Fix typo

* Fix test_update fixture import

* Python line-length to 100

* Reformat Python code line length

* Fix typo
2023-11-27 19:10:34 +01:00
Bela Stoyan 7f325df6ad
fix config precedence for base env (#3009)
Co-authored-by: Daniel Elsner <daniel.elsner@quantco.com>
2023-11-27 14:40:47 +02:00
Antoine Prouvost 1340d712eb
Improve ChannelContext and Channel (#3003) 2023-11-23 19:14:35 +01:00
Antoine Prouvost acd357df95
Remove ChannelContext ctor (#3002) 2023-11-22 18:45:43 +01:00
Antoine Prouvost 1ee4893eeb
Move core/channel > specs/channel (#3000)
* Move core/channel > specs/channel

* Remove unnecessary [[nodiscard]]

* Minor specs::Channel improvements

* Add value based ChannelResolveParams

* Add specs::Channel tests

* Add more Channel tests

* ChannelContext::context const only

* Remove unnecessary ChannelContext functions

* Rename core/channel.hpp > core/channel_context.hpp

* Sort (some) CMake files

* Refactor ChannelContext constructor

* Review comments

* Const reference

* Use ChannelContext::make_conda_compatible
2023-11-22 15:29:34 +01:00
Antoine Prouvost e874e7ea71
Migrate Channel::make_channel to resolve multi channels (#2986)
* Add one to many get_channels

* Refactor ChannelContext params

* ChannelContext::make_channel migration 1

* ChannelContext::make_channel migration 2

* ChannelContext::make_channel migration 3

* ChannelContext::make_channel migration 4

* ChannelContext::make_channel migration 5

* ChannelContext::make_channel migration 6

* ChannelContext::make_channel migration 7

* Remove Channel bindings

* Remove ChannelContext::make_channel

* ChannelContext::get_channels migration 1

* ChannelContext::get_channels migration 2

* ChannelContext::get_channels migration 3

* Remove get_channels bindings

* Remove ChannelContext::get_channels

* Channel::resolve return a list

* Resolve multi_channel in Channel::resolve

* Use weakening map for multi_channels

* Split Channel resolve_name

* Cleanup signatures

* Add Channel::clear_xxx

* Force removal of trailing '/' in Channel

* Add weak channel comparison

* Use better channel comparisons

* Remove Channel::base_url

* Rename Channel::make_chan > make_channel

* Add doc

* Resolve Channel paths from params

* Review from JohanMabille

* Fix absolute path
2023-11-21 12:07:19 +01:00
Jonas Haag 0177c44383
Extend issue template (#2996)
* Extend issue template

* Update bug.yml
2023-11-21 09:17:04 +01:00
Antoine Prouvost 139b7ef020
Refactor env::which (#2997)
* Clenup env::which

* RAII C calls

* Refactor which functions

* Remove second param from which

* Change which namespace

* Fix which extension

* Add missing OSX headers

* Add util::which tests
2023-11-20 15:13:22 +01:00
Antoine Prouvost 7c5f0562c4
Migrate expand/shrink_home (#2990) 2023-11-17 19:45:30 +01:00
Antoine Prouvost 2c8ec3c10f
Add Python-like set operations to flat_set (#2557)
* Add flat-set doctest printer

* Add Python-like set operations to flat_set

* Fix merge error

* Remove Self

* Refactor operator and member fuctions
2023-11-17 15:36:01 +01:00
Casper van Elteren 1fda52928a
Nu 0.87.0 (#2984)
Update to nu shell 0.87
2023-11-17 15:33:25 +01:00
Isuru Fernando 49e03b2948
Allow overriding archspec (#2966)
* Allow overriding archspec

* Fix lint
2023-11-17 10:06:36 +01:00
Antoine Prouvost be3d531750
Enable new repodata parser by default (#2989) 2023-11-17 04:49:51 +01:00
Antoine Prouvost a0f81393dd
Refactor env directories (#2983)
* Refactor env directories

* util::split char sep

* Refactor pathsep

* Add path_concat

* user_home_dir as string

* get_windows_known_user_folder return as string

* xdg location as string
2023-11-16 18:26:03 +01:00
Antoine Prouvost 1d038d1577
Fail fast except on debug runs (#2985) 2023-11-16 16:21:58 +01:00
Antoine Prouvost 2210f7db06
Add weakening_map (#2981)
* Add weakening_map

* Use weakening_map in Channel
2023-11-16 11:27:37 +01:00
artificial-agent eedd70d159
update readme install link (#2980) 2023-11-15 17:47:13 +02:00
Antoine Prouvost cd744e765c
Channel initialization (#2953)
* Set default_channels at config level

* Resolve default multi channel at the config level

* Fix Yaml source printers

* Resolve local multi channel at the config level

* Remove ChannelContext::make_simple_channel

* Remove Channel::name usage

* Factorize split_once functions

* Try looking for name match in URL path

* Refactor ending_splits_in

* Code improvement

* Replace get_common_parts with concat_dedup

* Remove Channel::name

* Remove Channel::location

* Use URL for priority in channel loader

* Make Channel value-based

* Add range hashing

* Add Channel comparison and hash

* Make channel map/list return by value

* Resolve 1

* Resolve 2

* Resolve 3

* Remove unknown channels

* Hide get_known_platforms

* Add unknown ChannelSpec

* Remove unused function

* Rename Channel::canonical_name > display_name

* Remove Channel friend class

* Add Channel::resolve

* Remove ChannelContext::from_value
2023-11-15 15:52:59 +01:00
Antoine Prouvost ddea95e16c
Add install from source instructions (#2977)
* Update static environment files

* Refactor installation pages

* Add install from source instructions
2023-11-15 08:47:53 +01:00
Antoine Prouvost 09cbb34e54
Simplify and correct development documention (#2975)
* Use a single file for contributing guidelines

* Add doc builds to taskfile

* Fix sphinx warnings

* Simplify development doc

* Document Taskfile

* Update dev_environment.rst

Co-authored-by: Johan Mabille <johan.mabille@gmail.com>

* Update dev_environment.rst

Co-authored-by: Johan Mabille <johan.mabille@gmail.com>

* Update dev_environment.rst

Co-authored-by: Johan Mabille <johan.mabille@gmail.com>

* Update dev_environment.rst

Co-authored-by: Johan Mabille <johan.mabille@gmail.com>

* Update dev_environment.rst

Co-authored-by: Johan Mabille <johan.mabille@gmail.com>

* Update dev_environment.rst

Co-authored-by: Johan Mabille <johan.mabille@gmail.com>

* Update dev_environment.rst

Co-authored-by: Johan Mabille <johan.mabille@gmail.com>

* Add test-docs task

---------

Co-authored-by: Johan Mabille <johan.mabille@gmail.com>
2023-11-14 11:59:44 +01:00
Antoine Prouvost e6967058a9
Update dependencies on OSX (#2976)
Upadte dependencies on OSX
2023-11-14 08:51:15 +01:00
Antoine Prouvost 4fe976d871
Add envrionment cleaner test fixtures (#2973) 2023-11-14 08:50:28 +01:00
Antoine Prouvost b7b87f7513
Environment map (#2967)
* Move env::copy yo utility and fix encoding

* Add set_env_map / update_env_map

* Fixup: `environ` is a define in msvc's stdlib.h

* Remove get_env_map use of to_upper

---------

Co-authored-by: Joël Lamotte (Klaim) <mjklaim@gmail.com>
2023-11-13 09:11:24 +01:00
Antoine Prouvost 0d42e81667
Modularize libmambapy (#2960)
* Modularize libmambapy

* Add test-libmambapy to Taskfile

* Fix libmamba installation

* Fix standalone libmambapy configuration

* Change libmambapy layout

* Add scikit-build

* Fix libmambapy extension name

* Add submodules shims

* Fix libmambaoy tests

* Fix stubgen

* Adapt libmambapy tests to scikit-build

* Read version from Python

* Replace confusing names
2023-11-10 18:29:16 +01:00
Johan Mabille ed27c7112c
Fixed move semantics of DownloadAttempt (#2963) 2023-11-09 17:26:27 +01:00
Johan Mabille 21c6d73680
removed dependency on conda-index (#2964) 2023-11-08 22:15:05 +01:00
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