-
Notifications
You must be signed in to change notification settings - Fork 287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test features in ci #802
base: main
Are you sure you want to change the base?
Test features in ci #802
Conversation
…tested instead of testing all "changed" ports
…ause the packages folder is deleted when a package fails
# Conflicts: # src/vcpkg/install.cpp
# Conflicts: # src/vcpkg/commands.ci.cpp
…kg-tool into feature/ci-test-features
# Conflicts: # include/vcpkg/base/strings.h
This reverts commit 4a2d427.
# Conflicts: # include/vcpkg/base/message-data.inc.h # locales/messages.json # src/vcpkg/commands.ci.cpp # src/vcpkg/commands.cpp # src/vcpkg/commands.help.cpp
@AugP @BillyONeal @dan-shaw @ras0219-msft Hi @autoantwort We discussed this command and have the following asks:
We haven't made a review of the implementation yet, but will probably have some more comments later. |
The commands removes all subdirs in |
BTW could it test an unregistered modification, maybe via overlay ports? |
So you want a flag like |
I tested this PR while working locally on a vcpkg PR (zeroc-ice). It is quite helpful but at the moment,
My comments were independent and shouldn't be mixed. With So I don't ask for a flag but for a general modification. |
It does that.
The behavior is the same as for |
Indeed, you are right. I stumbled over another behaviour now: Post-build check errors of dependencies cause cascades which prevent the test of the port of interest. Understandable from a CI point of view, but less convenient for interactive testing. (In my case: readline-unix creates empty bin directories for x64-linux-dynamic. Good to have this covered by post-build checks, but I don't want to be stopped by this....) |
Hm should I add a flag like |
# Conflicts: # include/vcpkg/base/message-data.inc.h # locales/messages.json
# Conflicts: # include/vcpkg/base/message-data.inc.h # include/vcpkg/cmakevars.h # src/vcpkg/cmakevars.cpp # src/vcpkg/commands.build.cpp # src/vcpkg/packagespec.cpp
# Conflicts: # include/vcpkg/base/message-data.inc.h # src/vcpkg/commands.ci.cpp
@vicroms This PR is waiting for MS. |
…ature/ci-test-features # Conflicts: # src/vcpkg/commands.ci.cpp
Introduces a new command
x-test-features
. It can be passed a list of port names or--all
to specify for which ports the tests should be run.The following tests are performed:
--no-feature-core-test
)--no-features-separated-tests
)--no-features-combined-test
)Feature which are unsupported or marked as cascade for the target triplet are skipped.
For every test only the necessary dependencies are installed (like vcpkg install in manifest mode).
The idea is to run the feature test for all ports that are changed by a PR.
Ports that cascade must be explicitly marked as cascade.
vcpkg format-feature-baseline scripts/ci.feature.baseline.txt
is a command to format the feature baseline to enforce that all entries in a "block" are sorted alphabetically.Docs: microsoft/vcpkg-docs#131
Fixes microsoft/vcpkg#13119
#908 reduce the needed ci time, this PR increases it again. So the actual change is not likely to be very large.