-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Capture failed tests as actual step/job failures #448
Capture failed tests as actual step/job failures #448
Conversation
✅ Deploy Preview for conda-lock ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
See how the jobs are correctly failing given the failing tests, as opposed to e.g. https://github.com/conda/conda-lock/actions/runs/5466015810/jobs/9950322426#step:6:1001 As for the failing tests, they seem to be all related to pydantic, and started to appear following the 2.0 release: https://docs.pydantic.dev/2.0/migration/ Most errors are about virtual package specs:
and could be addressed by quoting versions, e.g. The other relevant failure is
perhaps related to
Happy to include any recommended fix in this PR |
See also pydantic/pydantic#6375 Perhaps a tactical solution for now is to stick to |
I'd rather try and support Pydantic v2. I wonder how easily we can get rid of frozensets. I might be missing something, but when I occasionally use sets for internal manipulations, I prefer casting the result to a list with I'm not sure if this paradigm would break down at some point when applied to conda-lock here, but that'd be my idea for how to solve it. What do you think? |
@maresb, I looked a bit closer into the I could reproduce the error locally and here is what I see as
|
This is in fact even visible in the workflow log, e.g. https://github.com/conda/conda-lock/actions/runs/5495255879/jobs/10014527957?pr=448#step:6:400
|
Thanks @riccardoporreca, I actually simultaneously came to the same conclusion. I'm not sure what to make of it, but I opened mamba-org/mamba#2662 to hopefully eventually gain some clarity. I was unable to reproduce locally, so it's really great that you can! Any chance that you could set a breakpoint at |
It'd be nice to get to the bottom of this warning, but in case we can't maybe we should just ignore it as per my commit. (Not an ideal solution, so I hope we can do better.) But now I'm actually a bit nervous about Pydantic. It seems like v2 has some big changes, and we don't have a major version pin. |
I was reproducing the steps of the test workflow for creating the environment and installing from requirements.txt. Ultimatelty, there is something in the logic leading to the print statement in https://github.com/mamba-org/mamba/blob/c46647a8807b5d4812b25c199754f4bbe904b679/mamba/mamba/utils.py#L384-L398, so I fully agree to raise the flag to mamba
I can fully understand that! |
Debug info:
To help reproducing the issue, here is the outcome of
|
Co-authored-by: Riccardo Porreca <riccardo.porreca@mirai-solutions.com>
Thanks for the debug info! I would have expected to see |
Oh, I do see the same if I execute the same command manually, even w/o Btw, I could also extract
[PrefixRecord(_hash=6117309602136572690, name='libstdcxx-ng', version='13.1.0', build='hfd8a6a1_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='067bcc23164642f4c226da631f2a2e1d', url='https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.1.0-hfd8a6a1_0.tar.bz2', sha256='6f9eb2d7a96687938c0001166a3b308460a8eb02b10e9d0dd9e251f0219ea05c', depends=()),
PrefixRecord(_hash=4601397831281391658, name='_openmp_mutex', version='4.5', build='2_gnu', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='73aaf86a425cc6e73fcf236a5a46396d', url='https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2', sha256='fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22', depends=('_libgcc_mutex 0.1', 'libgomp >=7.5.0')),
PrefixRecord(_hash=4258323768399712393, name='libgomp', version='13.1.0', build='he5830b7_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='56ca14d57ac29a75d23a39eb3ee0ddeb', url='https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.1.0-he5830b7_0.tar.bz2', sha256='5d441d80b57f857ad305a65169a6b915d4fd6735cdc9e9bded35d493c91ef16d', depends=('_libgcc_mutex 0.1',)),
PrefixRecord(_hash=-1062740788984534903, name='libgcc-ng', version='13.1.0', build='he5830b7_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='cd93f779ff018dd85c7544c015c9db3c', url='https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.1.0-he5830b7_0.tar.bz2', sha256='fba897a02f35b2b5e6edc43a746d1fa6970a77b422f258246316110af8966911', depends=('_libgcc_mutex 0.1', '_openmp_mutex >=4.5')),
PrefixRecord(_hash=-3508787944303369784, name='markupsafe', version='2.0.1', build='py39h3811e60_1', build_number=1, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='bba8fc0d724caa73a96220e48aac3b61', url='https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.0.1-py39h3811e60_1.tar.bz2', sha256='012db594e5921001b571415e1af5f96f0261f0e405dc5bb24108f37424b5bdcc', depends=('libgcc-ng >=9.4.0', 'python >=3.9,<3.10.0a0', 'python_abi 3.9.*')),
PrefixRecord(_hash=1864570515959054434, name='flask', version='1.1.4', build='pyhd8ed1ab_0', build_number=0, channel=Channel("conda-forge/noarch"), subdir='noarch', md5='63a883114dff04051d6da14614abad6c', url='https://conda.anaconda.org/conda-forge/noarch/flask-1.1.4-pyhd8ed1ab_0.tar.bz2', sha256='caefc2382372dae76287b2f93c8f143be6a2f6fd1beb9a99d397bdd89885ca0b', depends=('click >=5.1,<8.0', 'itsdangerous >=0.24,<2.0', 'jinja2 >=2.10.1,<3.0', 'python >=3.7', 'werkzeug >=0.15,<2.0')),
PrefixRecord(_hash=217662879442330501, name='readline', version='8.2', build='h8228510_1', build_number=1, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='47d31b792659ce70f470b5c82fdfb7a4', url='https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.tar.bz2', sha256='5435cf39d039387fbdc977b0a762357ea909a7694d9528ab40f005e9208744d7', depends=('libgcc-ng >=12', 'ncurses >=6.3,<7.0a0')),
PrefixRecord(_hash=7171625443809266070, name='openssl', version='1.1.1u', build='hd590300_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='cc1c2db83ae28a28871d52b035739488', url='https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1u-hd590300_0.tar.bz2', sha256='b8b2c2cebc4753d23263cae5deaf9112069113030a14076756358ea090194616', depends=('ca-certificates', 'libgcc-ng >=12')),
PrefixRecord(_hash=5478892565273133814, name='ld_impl_linux-64', version='2.40', build='h41732ed_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='7aca3059a1729aa76c597603f10b0dd3', url='https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.tar.bz2', sha256='f6cc89d887555912d6c61b295d398cff9ec982a3417d38025c45d5dd9b9e79cd', depends=()),
PrefixRecord(_hash=3767926195225194115, name='xz', version='5.2.6', build='h166bdaf_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='2161070d867d1b1204ea749c8eec4ef0', url='https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2', sha256='03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162', depends=('libgcc-ng >=12',)),
PrefixRecord(_hash=4806233417525843396, name='setuptools', version='68.0.0', build='pyhd8ed1ab_0', build_number=0, channel=Channel("conda-forge/noarch"), subdir='noarch', md5='5a7739d0f57ee64133c9d32e6507c46d', url='https://conda.anaconda.org/conda-forge/noarch/setuptools-68.0.0-pyhd8ed1ab_0.tar.bz2', sha256='083a0913f5b56644051f31ac40b4eeea762a88c00aa12437817191b85a753cec', depends=('python >=3.7',)),
PrefixRecord(_hash=6087619369644264193, name='_libgcc_mutex', version='0.1', build='conda_forge', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='d7c89558ba9fa0495403155b64376d81', url='https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2', sha256='fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726', depends=()),
PrefixRecord(_hash=7883234331493347149, name='python', version='3.9.6', build='h49503c6_1_cpython', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='3ef028f528fe6cae3a536acb5d31be7a', url='https://conda.anaconda.org/conda-forge/linux-64/python-3.9.6-h49503c6_1_cpython.tar.bz2', sha256='525da63a4195fb8dd68f7edc92b7cc6e7f408a002a747b2dc6c487ce8adf6d52', depends=('ld_impl_linux-64 >=2.36.1', 'libffi >=3.3,<3.4.0a0', 'libgcc-ng >=9.3.0', 'ncurses >=6.2,<7.0.0a0', 'openssl >=1.1.1k,<1.1.2a', 'readline >=8.1,<9.0a0', 'sqlite >=3.36.0,<4.0a0', 'tk >=8.6.10,<8.7.0a0', 'tzdata', 'xz >=5.2.5,<5.3.0a0', 'zlib >=1.2.11,<1.3.0a0')),
PrefixRecord(_hash=-896372301984600320, name='tk', version='8.6.12', build='h27826a3_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='5b8c42eb62e9fc961af70bdd6a26e168', url='https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2', sha256='032fd769aad9d4cad40ba261ab222675acb7ec951a8832455fce18ef33fa8df0', depends=('libgcc-ng >=9.4.0', 'libzlib >=1.2.11,<1.3.0a0')),
PrefixRecord(_hash=4117789512474915087, name='ncurses', version='6.4', build='hcb278e6_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='681105bccc2a3f7f1a837d47d39c9179', url='https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-hcb278e6_0.tar.bz2', sha256='ccf61e61d58a8a7b2d66822d5568e2dc9387883dd9b2da61e1d787ece4c4979a', depends=('libgcc-ng >=12',)),
PrefixRecord(_hash=4130680458484229485, name='sqlite', version='3.42.0', build='h2c6b66d_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='1192f6ec654a5bc4ee1d64bdc4a3e5cc', url='https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.42.0-h2c6b66d_0.tar.bz2', sha256='9cf59fa9891248e0e3a86a41041156cec367653d423e5d8a09b4c8ab98441a27', depends=('libgcc-ng >=12', 'libsqlite 3.42.0', 'libzlib >=1.2.13,<1.3.0a0', 'ncurses >=6.3,<7.0a0', 'readline >=8.2,<9.0a0')),
PrefixRecord(_hash=-5848454029907418160, name='libffi', version='3.3', build='h58526e2_2', build_number=2, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='665369991d8dd290ac5ee92fce3e6bf5', url='https://conda.anaconda.org/conda-forge/linux-64/libffi-3.3-h58526e2_2.tar.bz2', sha256='bfa80758d38a4f50089c38340b4577d476daaf10967ab2dfc2de9650854705f0', depends=('libgcc-ng >=7.5.0', 'libstdcxx-ng >=7.5.0')),
PrefixRecord(_hash=-5506156747694922585, name='jinja2', version='2.11.3', build='pyhd8ed1ab_2', build_number=2, channel=Channel("conda-forge/noarch"), subdir='noarch', md5='bdedf6199eec03402a0c5db1f25e891e', url='https://conda.anaconda.org/conda-forge/noarch/jinja2-2.11.3-pyhd8ed1ab_2.tar.bz2', sha256='bd10e86000b606b69bff881268d9d54b347d08d0850593ab24dfc05f7bcb91c6', depends=('markupsafe >=0.23,<2.1', 'python >=3.5', 'setuptools')),
PrefixRecord(_hash=1215477188485682399, name='libsqlite', version='3.42.0', build='h2797004_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='fdaae20a1cf7cd62130a0973190a31b7', url='https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.42.0-h2797004_0.tar.bz2', sha256='72e958870f49174ebc0ddcd4129e9a9f48de815f20aa3b553f136b514f29bb3a', depends=('libgcc-ng >=12', 'libzlib >=1.2.13,<1.3.0a0')),
PrefixRecord(_hash=-6890465648837371721, name='ca-certificates', version='2023.5.7', build='hbcca054_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='f5c65075fc34438d5b456c7f3f5ab695', url='https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.5.7-hbcca054_0.tar.bz2', sha256='0cf1bb3d0bfc5519b60af2c360fa4888fb838e1476b1e0f65b9dbc48b45c7345', depends=()),
PrefixRecord(_hash=-3106167075499420295, name='tzdata', version='2023c', build='h71feb2d_0', build_number=0, channel=Channel("conda-forge/noarch"), subdir='noarch', md5='939e3e74d8be4dac89ce83b20de2492a', url='https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.tar.bz2', sha256='0449138224adfa125b220154408419ec37c06b0b49f63c5954724325903ecf55', depends=()),
PrefixRecord(_hash=-6914100323875545989, name='pydantic', version='1.7', build='py39h07f9747_0', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='f33be4cbe9070ef3671852aaa304e2f6', url='https://conda.anaconda.org/conda-forge/linux-64/pydantic-1.7-py39h07f9747_0.tar.bz2', sha256='09bbf313f929700e639b7fdc421130d567c958ac625a81e30a8cafbf17c35e8b', depends=('libgcc-ng >=7.5.0', 'python >=3.9,<3.10.0a0', 'python_abi 3.9.*')),
PrefixRecord(_hash=-9067982657162894589, name='itsdangerous', version='1.1.0', build='py_0', build_number=0, channel=Channel("conda-forge/noarch"), subdir='noarch', md5='8afda875561afffed1115fd247fdd61e', url='https://conda.anaconda.org/conda-forge/noarch/itsdangerous-1.1.0-py_0.tar.bz2', sha256='55fdad81f4130544e6bad0accacaaa01541c28d046a5a385b8bce34e1093cf9d', depends=('python',)),
PrefixRecord(_hash=-3960696335752423681, name='python_abi', version='3.9', build='3_cp39', build_number=0, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='0dd193187d54e585cac7eab942a8847e', url='https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-3_cp39.tar.bz2', sha256='89e8c4436dd04d8b4a0c13c508e930be56973a480a9714171969de953bdafd3a', depends=()),
PrefixRecord(_hash=3651643537671295313, name='werkzeug', version='1.0.1', build='pyh9f0ad1d_0', build_number=0, channel=Channel("conda-forge/noarch"), subdir='noarch', md5='a9f0ed0e6ba014c4e42543bda09e0035', url='https://conda.anaconda.org/conda-forge/noarch/werkzeug-1.0.1-pyh9f0ad1d_0.tar.bz2', sha256='6b8d772970f447b686c3fd498ca8df9f3121bfd5988644aeeea63c9dab54b8a4', depends=('python',)),
PrefixRecord(_hash=-8793689297694241366, name='click', version='7.1.2', build='pyh9f0ad1d_0', build_number=0, channel=Channel("conda-forge/noarch"), subdir='noarch', md5='bd50a970ce07e660c319fdc4d730d3f1', url='https://conda.anaconda.org/conda-forge/noarch/click-7.1.2-pyh9f0ad1d_0.tar.bz2', sha256='e08b3d5bd79fae9e6e0edcbe41d42c93f9b0f4698df98b22d9119c8f6057cf2d', depends=('python',)),
PrefixRecord(_hash=4176514287766983998, name='libzlib', version='1.2.13', build='hd590300_5', build_number=5, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='f36c115f1ee199da648e0597ec2047ad', url='https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.tar.bz2', sha256='370c7c5893b737596fd6ca0d9190c9715d89d888b8c88537ae1ef168c25e82e4', depends=('libgcc-ng >=12',)),
PrefixRecord(_hash=1242590324271593394, name='zlib', version='1.2.13', build='hd590300_5', build_number=5, channel=Channel("conda-forge/linux-64"), subdir='linux-64', md5='68c34ec6149623be41a1933ab996a209', url='https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.tar.bz2', sha256='9887a04d7e7cb14bd2b52fa01858f05a6d7f002c890f618d9fcd864adbfecb1b', depends=('libgcc-ng >=12', 'libzlib 1.2.13')),
PackageRecord(_hash=-4743696213320253586, name='__linux', version='0', build='0', build_number=0, channel=Channel("@"), subdir='linux-64', fn='__linux', md5='12345678901234567890123456789012', package_type='virtual_system'),
PackageRecord(_hash=-8923462647567306477, name='__unix', version='0', build='0', build_number=0, channel=Channel("@"), subdir='linux-64', fn='__unix', md5='12345678901234567890123456789012', package_type='virtual_system')]
Actually, I think the problem is with
and as such Calling it a night too! |
Interesting, my So now I'm wondering why we have different version specifications. On my side, following it up the stack, in [dep.version for dep in lock_spec.dependencies["linux-64"] if dep.name == "pydantic"] == ['1.7'] This propagates down the stack via I'm going to merge this in order to have a working |
@maresb, I have found indications of the issue appearing with mamba 1.4.6 (released June 30), and indeed failures appeared in the last week or so. Let me pursue this further, I will report my findings and free up some of your precious time for other conda-lock topics (like pydantic V2 or vendored poetry updates ;)) or for some quality Sunday time :) |
I have created #452 to follow-up on the matter |
Should fix #447
This is done by Enabling fail-fast bash behavior, see https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference
Description