abatilo / actions-poetry

GitHub Actions for Python projects using poetry
MIT License
430 stars 43 forks source link

It does not seem to work with python 3.10 #46

Closed alanwilter closed 2 years ago

alanwilter commented 2 years ago

I have workflow that tests my application from python 3.6 to 3.10. After I added abatilo/actions-poetry it's now failing for 3.10:

2021-12-25T11:01:46.9378939Z ##[group]Run poetry add openbabel-wheel
2021-12-25T11:01:46.9379598Z poetry add openbabel-wheel
2021-12-25T11:01:46.9380092Z poetry install
2021-12-25T11:01:46.9418234Z shell: /usr/bin/bash -e {0}
2021-12-25T11:01:46.9418605Z env:
2021-12-25T11:01:46.9419154Z   pythonLocation: /opt/hostedtoolcache/Python/3.10.1/x64
2021-12-25T11:01:46.9419889Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.1/x64/lib
2021-12-25T11:01:46.9420509Z   DEBIAN_FRONTEND: noninteractive
2021-12-25T11:01:46.9421174Z   AMBERHOME: /home/runner/work/acpype/acpype/acpype/amber21-11_linux
2021-12-25T11:01:46.9421745Z ##[endgroup]
2021-12-25T11:01:47.4876049Z Creating virtualenv acpype-njN5mZWO-py3.10 in /home/runner/.cache/pypoetry/virtualenvs
2021-12-25T11:01:47.9105964Z Using version ^3.1.1 for openbabel-wheel
2021-12-25T11:01:47.9113729Z 
2021-12-25T11:01:48.2214491Z Updating dependencies
2021-12-25T11:01:48.2215106Z Resolving dependencies...
2021-12-25T11:02:26.2535589Z 
2021-12-25T11:02:26.2536905Z Writing lock file
2021-12-25T11:02:26.4063825Z 
2021-12-25T11:02:26.4065399Z Package operations: 45 installs, 0 updates, 0 removals
2021-12-25T11:02:26.4065852Z 
2021-12-25T11:02:26.4107789Z   • Installing decorator (5.1.0)
2021-12-25T11:02:26.4109229Z   • Installing ipython-genutils (0.2.0)
2021-12-25T11:02:26.4148246Z   • Installing parso (0.8.3)
2021-12-25T11:02:26.4177880Z   • Installing ptyprocess (0.7.0)
2021-12-25T11:02:26.4212846Z   • Installing pyparsing (3.0.6)
2021-12-25T11:02:26.4274567Z   • Installing six (1.16.0)
2021-12-25T11:02:26.6911603Z 
2021-12-25T11:02:26.6912804Z   JSONDecodeError
2021-12-25T11:02:26.6913409Z 
2021-12-25T11:02:26.6914124Z   Expecting value: line 1 column 1 (char 0)
2021-12-25T11:02:26.6914701Z 
2021-12-25T11:02:26.6915792Z   at /opt/hostedtoolcache/Python/3.10.1/x64/lib/python3.10/json/decoder.py:355 in raw_decode
2021-12-25T11:02:26.7062304Z       351│         """
2021-12-25T11:02:26.7063408Z       352│         try:
2021-12-25T11:02:26.7064379Z       353│             obj, end = self.scan_once(s, idx)
2021-12-25T11:02:26.7065437Z       354│         except StopIteration as err:
2021-12-25T11:02:26.7066865Z     → 355│             raise JSONDecodeError("Expecting value", s, err.value) from None
2021-12-25T11:02:26.7068247Z       356│         return obj, end
2021-12-25T11:02:26.7069205Z       357│ 
2021-12-25T11:02:26.7069656Z 
2021-12-25T11:02:26.7070685Z   • Installing wcwidth (0.2.5)
2021-12-25T11:02:26.7156007Z 
2021-12-25T11:02:26.7157082Z   JSONDecodeError
2021-12-25T11:02:26.7157476Z 
2021-12-25T11:02:26.7157966Z   Expecting value: line 1 column 1 (char 0)
2021-12-25T11:02:26.7158379Z 
2021-12-25T11:02:26.7159064Z   at /opt/hostedtoolcache/Python/3.10.1/x64/lib/python3.10/json/decoder.py:355 in raw_decode
2021-12-25T11:02:26.7232494Z       351│         """
2021-12-25T11:02:26.7234398Z       352│         try:
2021-12-25T11:02:26.7237327Z       353│             obj, end = self.scan_once(s, idx)
2021-12-25T11:02:26.7241467Z       354│         except StopIteration as err:
2021-12-25T11:02:26.7248529Z     → 355│             raise JSONDecodeError("Expecting value", s, err.value) from None
2021-12-25T11:02:26.7253214Z       356│         return obj, end
2021-12-25T11:02:26.7255788Z       357│ 
2021-12-25T11:02:26.7256538Z 
2021-12-25T11:02:26.7316067Z 
2021-12-25T11:02:26.7316858Z   JSONDecodeError
2021-12-25T11:02:26.7317281Z 
2021-12-25T11:02:26.7317813Z   Expecting value: line 1 column 1 (char 0)
2021-12-25T11:02:26.7318256Z 
2021-12-25T11:02:26.7318974Z   at /opt/hostedtoolcache/Python/3.10.1/x64/lib/python3.10/json/decoder.py:355 in raw_decode
2021-12-25T11:02:26.7373806Z       351│         """
2021-12-25T11:02:26.7376513Z       352│         try:
2021-12-25T11:02:26.7380170Z       353│             obj, end = self.scan_once(s, idx)
2021-12-25T11:02:26.7383296Z       354│         except StopIteration as err:
2021-12-25T11:02:26.7387544Z     → 355│             raise JSONDecodeError("Expecting value", s, err.value) from None
2021-12-25T11:02:26.7390829Z       356│         return obj, end
2021-12-25T11:02:26.7393084Z       357│ 
2021-12-25T11:02:26.7394552Z 
2021-12-25T11:02:26.7436207Z 
2021-12-25T11:02:26.7436980Z   JSONDecodeError
2021-12-25T11:02:26.7437480Z 
2021-12-25T11:02:26.7438086Z   Expecting value: line 1 column 1 (char 0)
2021-12-25T11:02:26.7438585Z 
2021-12-25T11:02:26.7439355Z   at /opt/hostedtoolcache/Python/3.10.1/x64/lib/python3.10/json/decoder.py:355 in raw_decode
2021-12-25T11:02:26.7521146Z       351│         """
2021-12-25T11:02:26.7523858Z       352│         try:
2021-12-25T11:02:26.7527562Z       353│             obj, end = self.scan_once(s, idx)
2021-12-25T11:02:26.7530669Z       354│         except StopIteration as err:
2021-12-25T11:02:26.7534833Z     → 355│             raise JSONDecodeError("Expecting value", s, err.value) from None
2021-12-25T11:02:26.7537971Z       356│         return obj, end
2021-12-25T11:02:26.7540052Z       357│ 
2021-12-25T11:02:26.7541494Z 
2021-12-25T11:02:26.7556289Z 
2021-12-25T11:02:26.7557095Z   JSONDecodeError
2021-12-25T11:02:26.7557585Z 
2021-12-25T11:02:26.7558199Z   Expecting value: line 1 column 1 (char 0)
2021-12-25T11:02:26.7558699Z 
2021-12-25T11:02:26.7559487Z   at /opt/hostedtoolcache/Python/3.10.1/x64/lib/python3.10/json/decoder.py:355 in raw_decode
2021-12-25T11:02:26.7658949Z       351│         """
2021-12-25T11:02:26.7661635Z       352│         try:
2021-12-25T11:02:26.7665290Z       353│             obj, end = self.scan_once(s, idx)
2021-12-25T11:02:26.7668404Z       354│         except StopIteration as err:
2021-12-25T11:02:26.7672539Z     → 355│             raise JSONDecodeError("Expecting value", s, err.value) from None
2021-12-25T11:02:26.7675870Z       356│         return obj, end
2021-12-25T11:02:26.7678156Z       357│ 
2021-12-25T11:02:26.7679618Z 
2021-12-25T11:02:26.7756114Z 
2021-12-25T11:02:26.7756867Z   JSONDecodeError
2021-12-25T11:02:26.7757415Z 
2021-12-25T11:02:26.7758011Z   Expecting value: line 1 column 1 (char 0)
2021-12-25T11:02:26.7758511Z 
2021-12-25T11:02:26.7759319Z   at /opt/hostedtoolcache/Python/3.10.1/x64/lib/python3.10/json/decoder.py:355 in raw_decode
2021-12-25T11:02:26.7796564Z       351│         """
2021-12-25T11:02:26.7799338Z       352│         try:
2021-12-25T11:02:26.7802991Z       353│             obj, end = self.scan_once(s, idx)
2021-12-25T11:02:26.7806052Z       354│         except StopIteration as err:
2021-12-25T11:02:26.7810202Z     → 355│             raise JSONDecodeError("Expecting value", s, err.value) from None
2021-12-25T11:02:26.7813206Z       356│         return obj, end
2021-12-25T11:02:26.7815245Z       357│ 
2021-12-25T11:02:26.7816673Z 
2021-12-25T11:02:26.7939398Z 
2021-12-25T11:02:26.7940390Z   JSONDecodeError
2021-12-25T11:02:26.7940897Z 
2021-12-25T11:02:26.7941504Z   Expecting value: line 1 column 1 (char 0)
2021-12-25T11:02:26.7942009Z 
2021-12-25T11:02:26.7943086Z   at /opt/hostedtoolcache/Python/3.10.1/x64/lib/python3.10/json/decoder.py:355 in raw_decode
2021-12-25T11:02:26.8045637Z       351│         """
2021-12-25T11:02:26.8046657Z       352│         try:
2021-12-25T11:02:26.8048287Z       353│             obj, end = self.scan_once(s, idx)
2021-12-25T11:02:26.8049704Z       354│         except StopIteration as err:
2021-12-25T11:02:26.8051447Z     → 355│             raise JSONDecodeError("Expecting value", s, err.value) from None
2021-12-25T11:02:26.8052618Z       356│         return obj, end
2021-12-25T11:02:26.8053888Z       357│ 
2021-12-25T11:02:26.8054968Z 
2021-12-25T11:02:26.8081034Z 
2021-12-25T11:02:26.8081959Z Failed to add packages, reverting the pyproject.toml file to its original content.
2021-12-25T11:02:26.8972793Z ##[error]Process completed with exit code 1.
2021-12-25T11:02:26.9081242Z Post job cleanup.
2021-12-25T11:02:27.0222069Z [command]/usr/bin/git version
2021-12-25T11:02:27.0268150Z git version 2.34.1
2021-12-25T11:02:27.0299758Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2021-12-25T11:02:27.0336983Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
2021-12-25T11:02:27.0569444Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2021-12-25T11:02:27.0598125Z http.https://github.com/.extraheader
2021-12-25T11:02:27.0607516Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2021-12-25T11:02:27.0644778Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
2021-12-25T11:02:27.0926556Z Cleaning up orphan processes

If I remove:

         - name: Python Poetry Action
           uses: abatilo/actions-poetry@v2.1.3

and put back:

         - name: Install Poetry
           run: |
              pip3 install poetry # <-- put this line back
              poetry add openbabel-wheel
              poetry install

It works for 3.10. I must say that I'm adding openbabel-wheel which does have binaries ready for python 3.6-9 while for 3.10 it has to build one.

I was hoping abatilo/actions-poetry could help me to save time buy caching the 3.10 built wheel for openbabel-wheel.

abatilo commented 2 years ago

Hi @alanwilter. Sorry for the delay, I haven't checked my GitHub notifications in a while.

Anyways, there was a point in time where this action was more sophisticated, but now all this action does is call pip install poetry no different than what you do in your second example: https://github.com/abatilo/actions-poetry/blob/7044c9c69e0265717d52471f66033b8d0e2a69ff/action.yml#L16

Once composite actions became a thing, there was no need for this action to have any more smarts in it.

That being said, thanks for reporting this and I'll try to find some time to figure out why 3.10 doesn't seem to work even though it's a very mundane action.

duarte-pompeu commented 2 years ago

Hi @abatilo .

I'm not sure what your contributing preferences are, but I got this error and found the fix in my repo, so here's my PR: #47

Hope it's useful.

alanwilter commented 2 years ago

Great @duarte-pompeu! Heavens, it was a simple issue.

And, why not add 3.11 as well?

We can close this issue IMO.

duarte-pompeu commented 2 years ago

3.11 isnt stable yet, so I didn't add it in my PR.

One thing I noticed it (but didn't want to mix different issues) is that the poetry versions are 1.0 and 1.1.11, but 1.1.13 is already available (and should be the last patch version before 1.2). Perhaps that would also be worth to update.

abatilo commented 2 years ago

Since @duarte-pompeu fixed this, I'm going to go ahead and close now. Let me know if there's any reason that I should re-open the issue!

Thanks again for your contribution @duarte-pompeu