Giter Site home page Giter Site logo

Comments (7)

sondrelg avatar sondrelg commented on June 11, 2024 1

Hi Andreas!

I remember having the same issue when setting up the action, and I don't think I ever managed to solve it. It's a very weird issue, and stalled workflows are very hard to debug 😅

In other words, I don't really know why the cache stalls the workflow, unfortunately.

If you manage to get it working with another workflow, please let me know; and if you don't I could maybe have another go at making it work sometime in the next couple of days.

from install-poetry.

sondrelg avatar sondrelg commented on June 11, 2024 1

After reading all the issues and reflecting a little I think I will add a dedicated section to the README informing about the stalling that happens when you attempt to cache your venv on Windows, and point to caching your pip wheels as an alternative option. I was thinking about maybe making a full blown example with ifs conditionally caching one way on UNIX, and another on Windows, but I think I will go with just the mention for now.

If anyone reading this wants to make a contribution with test cases and docs, that's of course always welcome 👏

In general though, the cache problem seems like a Poetry and/or cache issue manifesting itself here, rather than it being an error in the poetry-install implementation, so until proven otherwise I think I will label this out of scope.

Thanks again Andreas for the report 👍 Good luck further speeding up your workflows.

from install-poetry.

amotl avatar amotl commented on June 11, 2024

Hi Sondre,

thanks for confirming our observations. I took the chance to have a short glimpse at Poetry's issue tracker and found those items to be related to indefinite hangs/stalls/freezes:

However, I did not investigate in more detail yet.

With kind regards,
Andreas.

from install-poetry.

sondrelg avatar sondrelg commented on June 11, 2024

I'll have a look at this, thanks!

Just in case this is useful to you - have you considered trying to drop the cache step from just the Windows run?

Without checking I can't be sure it's possible, but perhaps something like this could work:

 - name: Install dependencies
   if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' and runner.os != 'Windows'
   run: poetry install --no-interaction --no-root --extras=http --extras=sql --extras=excel

from install-poetry.

amotl avatar amotl commented on June 11, 2024

We had everything working perfectly since months and our endeavor right now was actually about making Poetry environment caching also work on Windows, which didn't happen before. Apparently, this is a holy grail ;].

After adding earthobservations/wetterdienst@6d4b13f, the process just freezes one step before. So, when touching a Poetry environment after it had been restored from the cache, things go south.

Side note: Recently, when working on introducing actions/cache on another repository, I discovered a comment that caching the whole virtualenv can lead to obscure side effects and it was recommended against doing it at all. So, caching would only be applied to the downloaded artifacts but they would still be installed into a virtualenv newly created each time.
However, I am not able to find back this comment, so please don't take it for granted - I just wanted to mention it.

from install-poetry.

sondrelg avatar sondrelg commented on June 11, 2024

That's interesting, so perhaps caching the wheels is a better approach for Windows.

I've re-triggered the problem here https://github.com/snok/install-poetry/runs/1757673921?check_suite_focus=true and things are starting to come back to me 😅 Debugging a process with no output is tricky.

I'll try a few combinations of caching, and hopefully we'll be able to find something that works 🤞

from install-poetry.

amotl avatar amotl commented on June 11, 2024

Hi again,

I just wanted to inform you about actions/cache#175, which I summarized at earthobservations/wetterdienst#332.

@webknjaz and @pradyunsg added valuable comments at actions/cache#175 (comment) ff. why only pip's wheel cache should be cached between subsequent invocations and that neither site-packages nor entire interpreter trees should be cached at all.

Otherwise, you might want to at least add a note to the documentation that - while this approach gains better performance - it has fragile aspects as outlined by @huonw at stellargraph/stellargraph#1720.

With kind regards,
Andreas.

from install-poetry.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.