Open LecrisUT opened 4 months ago
@LecrisUT this should be a regression introduced recently in vcpkg, you may find out if you try using an older version of vpkg: it would be super helpful if you can identify in which version this occurred.
To work around this, you may try removing VCPKG_ROOT
entry from the env variables, e.g. like
uses: run-cmake
env:
VCPKG_ROOT:
That way run-cmake
does not attempt to set up the environment using the vcpkg env
command (see the last block at the bottom of the flowchart).
That might be difficult because I can't run run-vcpkg
because I don't have a vcpkg.json
. What I was considering is to have a try...catch
around the first vcpkg
command and if the error message contains "Could not locate a manifest" or has an equivalent exit code, than move on aa if there is no vcpkg support. Afaiu the only check is at VCPKG_ROOT
, but maybe an additional check or even a glob check for **/vcpkg.json
would be helpful here.
@LecrisUT I am afraid I was not clear enough. In your case, the error is happening because run-cmake
, since it detects your Windows environment has VCPKG_ROOT
env var set, it is trying to setup the environment for MSVC by using the command vcpkg env
. What I am suggesting is that you can suppress this behavior by removing the definition of VCPKG_ROOT env var (only for the run-cmake
the VCPKG_ROOT is going to be removed, it will stay there for the rest of the workflow).
OTOH, the run-cmake
action should not fatally fail on such occasion, but should just print a warning and proceed forward. Probably there are other sensible solutions too, open to feedback.
OTOH, the
run-cmake
action should not fatally fail on such occasion, but should just print a warning and proceed forward. Probably there are other sensible solutions too, open to feedback.
This is basically my thought on the issue. If vcpkg was intended to be used but not used, there would be other helpful error messages afterwards, so this restriction can be relaxed. And iirc users can also suppress warning messages in their workflow, so it wouldn't be much disadvantage.
I have encountered this issue in: https://github.com/spglib/spglib/actions/runs/9647881847/job/26607773265
I was trying to update
run-cmake
tov10
, but onwindoes-latest
(related to the fix inv10.6
) I get an error of:The project does not have any
vcpkg.json
yet as I am still thinking on how to package this. Any possibilities to make it fallback when novcpkg.json
is found?