Coder Social home page Coder Social logo

Tag in vcpkgCommitId about run-vcpkg HOT 10 CLOSED

lukka avatar lukka commented on May 23, 2024 1
Tag in vcpkgCommitId

from run-vcpkg.

Comments (10)

Shatur avatar Shatur commented on May 23, 2024 1

Instead of specifying a tag, or a commit id, the best practice is to use vcpkg as a submodule, so that the vcpkg used is exactly the same locally and on CI.

Yes, I know, but I only need vcpkg on Windows, because on Linux I need to build a package with the versions of the libraries that are in the official repository. I would even okay with #35 or #44 to have latest possible versions of the libraries.

from run-vcpkg.

justusranvier avatar justusranvier commented on May 23, 2024 1

the best practice is to use vcpkg as a submodule

I guess you've never run into this issue before, but using vcpkg as a submodule is actually a terrible idea if you need to run vcpkg on windows images because of the MAX_PATH issue.

There are several packages in vcpkg whose build process runs right up to the limit and only work if you use C:\VCPKG. Any base path longer than that and you'll get hard to diagnose failures and confusing error messages that take a long time to track back to their root cause.

from run-vcpkg.

Shatur avatar Shatur commented on May 23, 2024

Is it possible to add tagging support to vcpkgCommitId?

from run-vcpkg.

lukka avatar lukka commented on May 23, 2024

@Shatur95 yes, it would be possible, no ETA though.

Instead of specifying a tag, or a commit id, the best practice is to use vcpkg as a submodule, so that the vcpkg used is exactly the same locally and on CI.

from run-vcpkg.

lukka avatar lukka commented on May 23, 2024

Please take a look to run-vcpkg@v10 and see if suites your needs. Feel free to reopen this or a new ticket about any problem you may see.

from run-vcpkg.

Shatur avatar Shatur commented on May 23, 2024

The description still stays that a tag name as a vcpkgCommitId is forbidden:

description: "Specify the full SHA-1 hash of a Git commit (not a branch name, nor a tag!) that establishes which version of vcpkg needs to be used. When using vcpkg as a Git submodule, this input is *not* needed as implicitly specified by the submodule."

from run-vcpkg.

lukka avatar lukka commented on May 23, 2024

@Shatur right, tags are not supported. Reopening this item.

from run-vcpkg.

lukka avatar lukka commented on May 23, 2024

@justusranvier hitting the MAX_PATH limitation is certainly a nightmare that forces unnecessary changes to workaround it.
The most important thing is to pin a specific version of vcpkg, so that the build reliably works in the same way for build executed by the devs and on CI build agent. Pinning using "vcpkg as a submodule" is one way, but certainly there can be others as long as they are stored in the source control. Which other approach would you suggest? A PR to improve the current best practices content is welcome.

There are also other questions as well that would help in narrowing down the problem and probably delineating a solution:

  • what is the extent of the problem of pinning the vcpkg version using a Git submodule? Is it a complete failure in any case, or only surfacing when some port is being used? This best practice is described in the vcpkg.io, and problem with it should be highlighted to the vcpkg project as an GH issue.
  • are you using a self hosted agent? I do not have a direct experience about this, but hopefully the Windows hosted agents are setup to not hit the MAX_PATH limitation.

from run-vcpkg.

justusranvier avatar justusranvier commented on May 23, 2024
  • Is it a complete failure in any case, or only surfacing when some port is being used?

Not all ports will result in exceeding MAX_PATH, but qtdeclarative and its dependencies will unless the base path is very short (C:\VCPKG)

but hopefully the Windows hosted agents are setup to not hit the MAX_PATH limitation

From my experience the hosted runners do hit MAX_PATH. I have read there are registry hacks to turn off this limitation but they require a reboot so there's no way to use them in a hosted runner.

from run-vcpkg.

lukka avatar lukka commented on May 23, 2024

Closing as more than one year of inactivity. Feel free to ask to reopen if needed.

from run-vcpkg.

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.