Giter VIP home page Giter VIP logo

Comments (7)

knoellle avatar knoellle commented on August 29, 2024 1

How Aufwand would that be? Patches break more easily when updating versions.
Also, which of the suggested solutions?

  1. The marker file would still have to be checked by pepsi before using the sdk and at that point pepsi might as well create/remove the marker file too.
  2. Removing the partial installation on error isn't reliable because the cleanup code may never be executed depending on the kind of error.
  3. The sed after mv I don't think we should do either way.

I'm favoring solution 1 implemented in pepsi.

from hulk.

knoellle avatar knoellle commented on August 29, 2024

Another solution would be to make the SDK install atomic by installing to a temp directory first and then mving it into place like we do with the downloads since #747

from hulk.

oleflb avatar oleflb commented on August 29, 2024

Great idea @knoellle, would also fix such issues outside the CI

from hulk.

knoellle avatar knoellle commented on August 29, 2024

I tried implementing this approach but it doesn't work since the installation process bakes the installation path into many of the files.
Some alternative approaches:

  1. Create an "hey, this didn't finish correctly" marker file which is removed after the sdk installation reports success.
    Requires changing the "is sdk already installed" detection which may break if we forget to do so at some point but it is probably the best option.
  2. Remove the installation directory on error.
    This would still break in cases where pepsi dies at the same time as the installer as would likely be the case in an aborted CI job.
  3. sed -i over the directory after installation to fix the paths.
    Very hacky, does not spark joy.

What do you think?

from hulk.

schmidma avatar schmidma commented on August 29, 2024

Is there anything against a pepsi sdk install action in the CI build jobs, that cannot be interrupted? If there is a released version of the SDK, it is a good idea to install it to the CI runners.

from hulk.

knoellle avatar knoellle commented on August 29, 2024

Sure, that would (probably) fix the CI issues.
However, I had hoped to also fix this issue for people installing the SDK on their machines.
If you Ctrl+C a pepsi upload during sdk installation, you will likely be met with very cryptic error messages when you run the command again.

from hulk.

schmidma avatar schmidma commented on August 29, 2024

We could also integrate such a feature to the SDK install script by patching poky

from hulk.

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.