MetroStar / conda-vendor

Conda package for artifact creation that enables offline environments. Ideal for air-gapped deployments.
MIT License
14 stars 8 forks source link

[BUG] `--offline` mode failing due to issues with file location #38

Closed iameskild closed 2 years ago

iameskild commented 2 years ago

Due to a potential upstream change, the conda-vendor --offline mode failed to build because of issues handling paths related to repodata.json. Adding a test to ensure --offline mode is working as expected might catch some of these changes.

``` Traceback (most recent call last): File "/opt/conda/lib/python3.9/site-packages/conda/exceptions.py", line 1082, in __call__ return func(*args, **kwargs) File "/opt/conda/lib/python3.9/site-packages/conda_env/cli/main.py", line 80, in do_call exit_code = getattr(module, func_name)(args, parser) File "/opt/conda/lib/python3.9/site-packages/conda_env/cli/main_create.py", line 142, in execute result[installer_type] = installer.install(prefix, pkg_specs, args, env) File "/opt/conda/lib/python3.9/site-packages/conda_env/installers/conda.py", line 50, in install unlink_link_transaction = solver.solve_for_transaction( File "/opt/conda/lib/python3.9/site-packages/conda/core/solve.py", line 152, in solve_for_transaction unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier, File "/opt/conda/lib/python3.9/site-packages/conda/core/solve.py", line 195, in solve_for_diff final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned, File "/opt/conda/lib/python3.9/site-packages/conda/core/solve.py", line 300, in solve_final_state ssc = self._collect_all_metadata(ssc) File "/opt/conda/lib/python3.9/site-packages/conda/common/io.py", line 88, in decorated return f(*args, **kwds) File "/opt/conda/lib/python3.9/site-packages/conda/core/solve.py", line 463, in _collect_all_metadata index, r = self._prepare(prepared_specs) File "/opt/conda/lib/python3.9/site-packages/conda/core/solve.py", line 1058, in _prepare reduced_index = get_reduced_index(self.prefix, self.channels, File "/opt/conda/lib/python3.9/site-packages/conda/core/index.py", line 288, in get_reduced_index new_records = SubdirData.query_all(spec, channels=channels, subdirs=subdirs, File "/opt/conda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 140, in query_all result = tuple(concat(executor.map(subdir_query, channel_urls))) File "/opt/conda/lib/python3.9/concurrent/futures/_base.py", line 609, in result_iterator yield fs.pop().result() File "/opt/conda/lib/python3.9/concurrent/futures/_base.py", line 446, in result return self.__get_result() File "/opt/conda/lib/python3.9/concurrent/futures/_base.py", line 391, in __get_result raise self._exception File "/opt/conda/lib/python3.9/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/opt/conda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 132, in subdir_query = lambda url: tuple(SubdirData(Channel(url), repodata_fn=repodata_fn).query( File "/opt/conda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 145, in query self.load() File "/opt/conda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 210, in load _internal_state = self._load() File "/opt/conda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 407, in _load _internal_state = self._process_raw_repodata_str(raw_repodata_str) File "/opt/conda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 485, in _process_raw_repodata_str assert subdir == self.channel.subdir AssertionError ```