hey there dear guys :slightly_smiling_face: i am f...
# general
p
hey there dear guys 🙂 i am facing a strange issue, i'm running
pants package
locally and works perfectly - but when i do it as part of CD in github actions, i get this error:
Copy code
There was 1 error downloading required artifacts:
1. instructor 0.6.3 from <https://files.pythonhosted.org/packages/18/0e/ef3b42adf7d9c42a389085beef864c53e125f7c93f95e6318b168dd23883/instructor-0.6.3-py3-none-any.whl>
    ERROR: Package 'instructor' requires a different Python: 3.9.18 not in '<4.0,>=3.10'
i printed out the python version in the local machine and is
Python 3.10.13
, in the gha runner is the same
Python 3.10.13
; all CD has worked so far, so why pants thinks its python 3.9 when resolving packages? isn't it using py3.10? (using pants 2.17.0)
b
Sorry for the trouble! Was this working before and then start breaking? If so, what changed?
Also can you construct a reproducer ? Or share the relevant BUILD files and pants.toml?
p
thanks so much for the answer! i added the a new library
instructor
to requirements and lockfiles
if i generate lockfiles in CD again before running pants package, now works
b
Ah hm. Can you print the diff between the locally generated lockfile and the one in CI?
p
sure also wanted to do it - will get to it asap and let you know, and ideally work also on a minimal reproducible demo 🙂 thanks a lot dear huon, always appreciate a lot the help! ❤️
👍 1
c
I am seeing the same issue now, did you find out what the cause was or do I just need to rebuild the lock file in the CI runner?
i
@proud-byte-81916 does rebuilding the lock file in GHA work for you every time? just curious because i tried rebuilding the lock file and it's exactly the same for me in CI as it is locally
a
Did anyone here find the cause of the problem and a fix for it? I have pretty much exactly the same. What I just noticed was that
pants test ::
manages to build the required pex-files, so by running
pants test ::
before running
pants package ::
I managed to successfully create the docker images. But I am quite sure this is not how it's supposed to be 😅
😵‍💫 1