Commit Graph

85 Commits

Author SHA1 Message Date
Victor Romero
2a42024b53
[vcpkg] Add commands to maintain and verify versions db integrity (#14999)
* [vcpkg] Add x-ci-verify-versions command

* Code cleanup

* Remove port version splitting from x-history

* Fix wrong message on success

* Parallelize versions file generator

* Use cpu_count()/2 to avoid crashes

* Check db SHA against local SHA

* Check baseline version with x-ci-verify-versions and make baseline generator much faster

* Implement x-add-version to update version db files

* Better checks for x-add-info and make x-ci-verify-versions silent on success

* Use find() instead of [] on maps

* Create version file if does not exist

* Allow redirection of ports/ and port_versions/

* add test ports

* WIP end-to-end tests

* Change pats in e2e tests

* Fix e2e args

* e2e once more

* Pass ersions feature flag to e2e

* Exit with code 1 if there are errors

* Files to test for failure cases

* Update test files

* Add test for x-add-version

* fix redirected ports in last test

* Add CI check (use dummy data)

* Add feature-flags=versions

* Ignore subdirectories inside ports

* Add --verify-git-trees switch

* [vcpkg] Fix build breaks

* [x-ci-verify-versions] PR comments

* [x-add-version] PR comments

* Fix merge conflicts

* Modify tests and pipeline

* Baselines should only have version-string

* Refactor x-add-version

* [vcpkg] Fix help message

* [vcpkg] Fix minor warnings

* `x-add-version --all` doesn't stop on first failure and reduced default verbosity

* [vcpkg] Fix default-baseline

* Load file instead of using paths provider

* Format

* Remove ci test

* Add fish port for testing

* Update version files

* Update fish port to cause SHA discrepancy

* Test for discrepancy between local SHA and declared SHA

* Missing = operator

* Check for error message since x-add-version exits with code 0

* Make x-add-version fail with non-zero exit code if not run with --all

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Robert Schumacher <ras0219@outlook.com>
2021-01-07 18:04:11 -08:00
Robert Schumacher
6772fdd145
[vcpkg] Teach vcpkg install --no-build-missing (#15139)
* [vcpkg] Teach `vcpkg install` `--no-build-missing`

This switch causes failure to restore from cache to abort the build instead of performing a just-in-time build.

This is useful in complex CI systems where the build was expected to have been performed previously, such as via another pipeline.

* [vcpkg] Rename flag to require binary caching
2020-12-30 12:12:17 -08:00
Jack·Boos·Yu
8f8f7168ee
[cmake] update to 3.19.2 (#14716)
* [cmake] update to 3.19.0

* update vmss

* [cmake] update to 3.19.1

* [solid3] Fix configure error, fix static definition

* [flann] Add feature hdf5 and fix it

* [highfive] Fix dependency hdf5

* [simage] Fix configure error

* [aws-c-common] Fix configure error

* [cmake] Update to 3.19.2

* Revert changes about cmake bug

* [VMSS] Update cmake path on Windows

* [cmake] Update cmake hash

* [minc] Fix dependency hdf5

* [cmake] Update cmake package name and path on MacOS

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-12-28 21:21:03 -08:00
Billy O'Neal
6d84d56cd5
Add testing with VS2015 and VS2017 compilers. (#15257)
* Add testing with VS2015 and VS2017 compilers.

* Apply Nicole CRs.
2020-12-28 17:51:22 -08:00
Billy O'Neal
e34cdd5c8f
Update MacOS Software (#15258) 2020-12-23 21:27:23 -08:00
Billy O'Neal
229f537c94
[opentracing] Update VMs 2020-12 (#15151)
* Add meson from https://github.com/microsoft/vcpkg/pull/12860/

* Add autoconf-archive from https://github.com/microsoft/vcpkg/pull/13081/

* Add kf5windowsystem libs from https://github.com/microsoft/vcpkg/pull/13467/

* Open the FTP and SFTP ports from https://github.com/microsoft/vcpkg/pull/14412/

* Add libxcb-util0-dev from https://github.com/microsoft/vcpkg/pull/14678/

* Add libasound2-dev from https://github.com/microsoft/vcpkg/pull/14774

* Remove no longer necessary apt-mark calls.

* Update nasm on Linux.

* Fix longstanding bug where Storage was publicly accessible and change to generate SAS token rather than File Share

* Delete no longer necessary azure storage firewall rules.

* Install the newer Windows SDK with the VS installer instead of manually.

* Install the VS2015 and VS2017 compilers.

* Update Powershell-Core to 7.1.0.

* Update source of WDK.

* Update pools.

* [opentracing] Repair arm64-windows failures caused by mojibake in `expected.hpp` and errors in opentracing-cpp's lint for arm64 where it thinks exceptions are disabled when they are enabled.

Fixes:
C:\Dev\vcpkg\buildtrees\opentracing\src\b67575dab0-0250653c81.clean\3rd_party\include\opentracing/expected/expected.hpp(1): warning C4828: The file contains a character starting at offset 0x4a77 that is illegal in the current source character set (codepage 65001).

Fixes:
D:\buildtrees\opentracing\src\b67575dab0-0250653c81.clean\include\opentracing/tracer.h:223:5: error: cannot use 'try' with exceptions disabled [clang-diagnostic-error]
    try {
    ^

* [mmloader] Patch out overrides of CMAKE_C_FLAGS and CMAKE_CXX_FLAGS that inserted /WX.

Note that this port sets /GS-, possibly because it may be for authoring shellcode.

* Bump storage API version to 2020-04-08.
2020-12-22 14:52:58 -08:00
nicole mazzuca
c898283a41
[vcpkg registries] support versions (#15114)
* [vcpkg registries] support versions

This PR merges the Registries changes and the versioning changes, so that one can use both at the same time.

There is one major difference between this PR and the RFC (#13590), which is that instead of version files looking like:

```json
[
  ...
]
```

version files look like:

```
{
  "versions": [
    ...
  ]
}
```

this is to support interop between this PR and existing demos and the like;
fixing this, along with perhaps renaming `port_versions` to `port-versions` should be done after this is merged,
should be a trivial change.
2020-12-21 15:40:21 -08:00
ras0219
9a81392e48
[vcpkg] VCPKG_ENV_PASSTHROUGH_UNTRACKED (#15115)
* [vcpkg] Add VCPKG_ENV_PASSTHROUGH_UNTRACKED

* [vcpkg] CR comments

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-12-17 11:35:08 -08:00
nicole mazzuca
30767175d5
[vcpkg ci] upload diff from clang-format to artifacts (#15141)
* [vcpkg ci] upload diff from clang-format to artifacts

this allows people who do not have access to clang-format to format their code via diff
2020-12-16 13:14:35 -08:00
ras0219
815396fa4e
[vcpkg] Refactor end-to-end tests (#15081)
* [vcpkg] Refactor end-to-end tests

* [vcpkg] Cherry-pick x-builtin-ports-root from #14999

* [vcpkg] Move create test from unit tests to e2e

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-12-15 10:26:00 -08:00
ras0219
dd4421808c
[vcpkg_fixup_pkgconfig] Handle spaces in path, do not validate individual libraries (#13126) 2020-12-07 18:17:19 -08:00
nicole mazzuca
6b117c9c7e
[vcpkg docs] Check for documentation generation in CI (#14614)
* [vcpkg docs] Change how documenting port functions works

Instead of using `##`, use comment blocks for documentation.

Also, add some minor docs and change RST -> MD
so we actually get docs generated.

* add CI stuff

* regenerate docs

* fix vcpkg_find_acquire_program to not use _execute_process
2020-12-01 13:37:26 -08:00
ras0219
5c48bee451
[vcpkg] Add experimental x-azblob binary provider (#13626)
* [vcpkg] Add experimental x-azblob binary provider

* [vcpkg] Test azblob storage provider in CI

* [vcpkg] Address some CR comments from #13639

* [vcpkg] Fixup azure-pipelines

* [vcpkg] Fix regression where the downloaded package is purged before decompressing

* [vcpkg] Further refactor vcpkg::Downloads

* [vcpkg] Enable OSX for x-azblob testing

* [vcpkg] Reduce diff against master

* [vcpkg] Extract Downloads::details::split_uri_view

* [vcpkg] Address PR comments

* [vcpkg] Add testing and metrics for x-azblob

* [vcpkg] Add docs for x-azblob

This includes a note that it is currently experimental

* [vcpkg] Address CR comments

* [vcpkg] Revert pipeline changes except OSX to minimize disruption

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-11-18 12:21:23 -08:00
Jack·Boos·Yu
bf482a9b58
[ampl-mp] Update version, separate port ampl-asl and fix arm build (#14518)
* [ampl-asl] Separate port ampl-mp module asl to ampl-asl

* [ampl-mp] Update version, separate port ampl-asl and fix arm build

* update baseline

* [VMSS] Pre-install ampl-mp:x86-windows

* Update ports/ampl-asl/portfile.cmake
2020-11-12 12:55:11 -08:00
Billy O'Neal
1b1c17de82
[vcpkg baseline] [vs-yasm] Build yasm instead of downloading it to work around memory corruption bugs in yasm itself. (#14003) 2020-10-28 14:26:41 -07:00
Billy O'Neal
09a647a526
Delete use of vcpkg_test_cmake and vcpkg_common_functions. (#13065) 2020-10-28 14:18:07 -07:00
Billy O'Neal
bf7dbde05e
[vcpkg] Always publish failure logs, even on success. (#14260)
This way we get failure logs for things excluded by ci.baseline.txt in the nightly builds.
2020-10-27 15:35:28 -07:00
Stefano Sinigardi
eb183171d2
[cmake] upgrade to 3.18 (#12612)
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-10-19 17:18:39 -07:00
Billy O'Neal
ab86954093
Always accept = or space as delimiters when parsing common command line parameters. (#13857)
Resolves #11456.
2020-10-07 10:31:42 -07:00
ras0219
d8a4e63690
[vcpkg] Avoid computing triplet ABIs for editable packages (#13446)
* [vcpkg] Avoid computing triplet ABIs for editable packages

* [vcpkg] Address PR comments

* [vcpkg-end-to-end-tests] Add tests for --no-binarycaching, binarycaching by default, and --editable

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-10-06 14:34:59 -07:00
nicole mazzuca
decc96c149
[vcpkg macos ci] modify README slightly (#13829)
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-10-06 11:10:41 -07:00
nicole mazzuca
397d3d7188
[vcpkg osx ci] update 2020-09-28 (#13799)
* [vcpkg osx ci] update to newer bits

these ones should actually work!

* update vagrantfile

* correct scripts, reformat, add docs

* Finish Get-InternalBaseBox, move archives

In order to avoid people maliciously deleting the boxes,
the archives share and file share are in different users now.

* baseline libqcow to be fixed later

* actually check for the mount point

* fix Install-Prerequisites again

* add +x to Get-InternalBaseBox.ps1

additionally, fix some errors
2020-09-29 16:49:49 -07:00
Billy O'Neal
4dc9ecd32b
Add MSVC-internal testing scripts to public GitHub. (#13748) 2020-09-28 13:54:10 -07:00
Robert Schumacher
57b37381c3
[vcpkg] Fix Windows pipeline's outdated Ninja reference (#13722) 2020-09-25 12:58:58 -07:00
nicole mazzuca
4cbbcbddfd
[vcpkg macos ci] Switch to using our own base boxes, to fix bringing up mac machines (#13619)
* [vcpkg ci:osx] Remove brew install

* add instructions for creating a new vagrant box

* fix the vagrant scripts for the new box

* finish fixing the setup

* [mecab jxrlib] fix ports for CI

mecab needed to use an actual ref that wasn't master,
and jxrlib needed a patch for xcode 12 CLTs.

Additionally, this fixes the mecab version to be a date, the date of the last commit,
since `1.0` is not the correct version (mecab doesn't have released versions)

* [many ports] fix compile with Xcode 12 CLTs

This mostly means fixing errors on implicit-function-declaration,
and removing some Werrors
* alac-decoder
* apr
* argtable2
* arrow
* hyperscan
* mcpp
* minizip
* mosquitto
* stormlib

* [many ports] even more Xcode 12 CLT fixes

* [jxrlib darknet] fix the last ports! (hopefully)

* CRs, plus minor wip changes to osx scripts
2020-09-24 15:15:06 -07:00
Billy O'Neal
0890b5a25f
[vcpkg] Add build scripts to produce signed vcpkg binaries. (#13508) 2020-09-21 17:27:35 -07:00
nicole mazzuca
0fec1340eb
[vcpkg manifest] Add documentation! (#13488)
* [vcpkg docs] add docs for manifest files

These are just for the maintainer docs,
not user docs.

* [vcpkg] EBNF-ify platform expression parsing

this modifies nothing about what strings are accepted or rejected,
it just moves stuff around.

also adds tests.

* [vcpkg docs] add manifest mode example

* [wip] docs for augustin

also fix tabs

* [vcpkg manifest] switch to using maps for features

* Apply suggestions from code review

* un-experimentize format-manifest

* flesh out the user manifest mode docs

* CRs

* billy CRs

* final personal pass-thru
2020-09-14 15:07:02 -07:00
Billy O'Neal
8054263f15
[skia, ompl, capnproto] Update VMs for 2020-08-12 (including VS 16.7) (#12884)
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2020-08-27 12:27:39 -07:00
Billy O'Neal
4a08a10f04
Allow use of VS LLVM clang-format. (#13142) 2020-08-26 11:47:39 -07:00
Jack·Boos·Yu
582e30d142
[VMSS] Fix the printed error message (#13107)
* check error message

* Remove https://

* Revert test changes
2020-08-25 15:07:38 -07:00
Billy O'Neal
4e65ce52ab
Sort file lists and failure logs together. (#13067) 2020-08-22 22:23:59 -07:00
ras0219
481738beae
[vcpkg] Add vcpkg export to E2E tests. Enable E2E tests on all platforms. (#12198)
* [vcpkg] Add `vcpkg export` to E2E tests. Enable E2E tests on MacOS.

* [vcpkg] Fix export --raw --output-dir=/path/ by changing directory to new export root

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-08-10 10:22:51 -07:00
nicole mazzuca
1c2af99415
[vcpkg format-manifest] Add convert-control flag (#12471)
* [vcpkg format-manifest] initial convert-control attempt

TODO: manifest comments! we should keep $directives

* Finalize x-format-manifest

First, fix Json::parse -- "\c", for any c, was incorrectly parsed.
It would emit the escaped character, and then parse the character, so
that `\b` would give you { '\b', 'b' }.

Second, canonicalize source paragraphs as we're parsing them. This found
an error in qt5 -- The `declarative` feature was listed twice, and we
now catch it, so I removed the second paragraph.

Add PlatformExpression::complexity to allow ordering platform
expressions in a somewhat reasonable way.

Notes:
  - We allow `all_modules` as a feature name for back-compat with
    paraview
  - In order to actually convert CONTROL to vcpkg.json, we'd need to
    rename the qt5 `default` feature.
  - We need to add support for $directives in x-format-manifest

* fix qt5 port

* format

* fix compile

* fix tests for canonicalization

* Clean up code

* add error message for nothing to format

* add extra_info field

* add `const X&` overloads for `Object::insert[_or_replace]`

* fix compile

* simple CRs

* add tests

* format

* Fix mosquitto port file

also unmerge a line

* fail the tests on malformed manifest

* fix format_all

* fix coroutine port-version

* format manifests
2020-08-02 10:08:07 -07:00
Kevin Lu
5512eafd80
[mpg123] Allow cross-compiling, fix previous builds tainting rebuilds (#11535)
* [mpg123] Allow cross-compiling, fix previous builds tainting rebuilds

* [mpg123] Rewrite to use vcpkg_configure_make

* Update ports/mpg123/portfile.cmake

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* [mpg123] Use vcpkg_execute_required_process

* [mpg123] Bump CONTROL version

* [mpg123] Remove unneeded legacy lines and strip out trailing newline from dumpmachine

* pre-install yasm on OSX.

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
2020-08-01 13:56:56 -07:00
Alexander Neumann
5c66f720c0
[cmake] Add cmake port to test qt (#10770)
* [cmake] add port for qt testing

* only add cmcldeps on windows

* [cmake] cleanup and fix portfile for osx build

* [cmake] more cleanup

* move cmake to scripts/test_ports

* add the overlay scripts/test_ports to ci
2020-07-31 16:48:52 -07:00
nicole mazzuca
f0ae3efbb4
[vcpkg-ci] fix macos setup scripts (#12639)
* [vcpkg-ci] fix macos setup scripts

* the disk feature is still experimental

* fix Get-InstalledVirtualBoxExtensionPacks

* use new bash install script for brew

instead of old-style ruby
2020-07-31 11:52:24 -07:00
Jack·Boos·Yu
d367c4c0b8
[vcpkg] Improve format check failure message (#12460)
* [docs] Add format document

* improve the error message

* Check the error message

* Finish test

* restore file list
2020-07-29 21:12:06 -07:00
Phoebe
9891a8f213
[libb2] Add supports and install pkg-conifg on macOS VM (#12398)
* [libb2] Add supports and install pkg-conifg on macOS VM

* Add blank line to the end of the json file

* vcpkg x-format-manifest --all

* Remove failed ports in ci baseline file
2020-07-14 08:37:14 -07:00
ras0219
bc07f4b052
[vcpkg-ci] Always publish file lists (#12384)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-13 12:14:51 -07:00
ras0219
a571c8ecc0
[vcpkg] Move default binary cache from $root/archives to user-wide directory (#12256)
* [vcpkg] Move default binary cache from `$root/archives` to user-wide directory

Teach nuget/nugetconfig binary sources to use read/write.

* [vcpkg] Reformat

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-09 15:14:05 -07:00
nicole mazzuca
3871d73349
[vcpkg manifests] fix some issues (#12227)
Fixes #12190
Fixes #12208
Fixes #12234
Fixes #12286
Fixes #12315
Fixes #12186
Fixes #12331
Fixes googleapis/google-cloud-cpp#4487
2020-07-09 12:32:31 -07:00
ras0219
fd4a08806f
[vcpkg] Fix MSBuild regressions #12062 and #12086. (#12257)
This PR also renames the VcpkgUserTriplet MSBuild variable to VcpkgTriplet to minimize user confusion compared to previous practice and documentation.

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-08 15:08:17 -07:00
nicole mazzuca
9606917c81
[vcpkg ci] Update formatting CI (#12314)
* stage checking formatting

this means that the port CI won't run if the formatting failed

* fix invalid names

* add formatting of manifests

* fix dependsOn name

* fix a thing

* CRs

* oops, typo
2020-07-07 14:09:33 -07:00
nicole mazzuca
6a41626eaf
[vcpkg] Format the C++ in CI (#11655)
* [vcpkg] Format the C++ in the CI

* format the C++

* CR
2020-07-06 16:45:34 -07:00
Leo Yao
aa2b9ef32e
[vcpkg] Added python script to generate all packages file list, added to azur… (#12177)
* Added python script to generate all packages file list, added to azure pipeline to build at the end of the run

* fixed an issue that causes some leading slashes were being removed

* Header Database now includes hpp files for C++ header files

* Changed Header Database to include all files under \include\ folder

* Apply suggestions from code review, changing condition from eq to ne

Co-authored-by: Billy O'Neal <bion@microsoft.com>

* Update last condition from eq to ne

Co-authored-by: Billy O'Neal <bion@microsoft.com>
2020-07-06 13:38:22 -07:00
Billy O'Neal
a28bfe7674
[vcpkg] Remove the tombstones and 'ignore' baseline concepts. (#12197)
This changes our PR builds to treat 'fail' in the ci.baseline.txt as 'skip' instead of using tombstones.

We currently have large numbers of spurious failures that get enshrined in PRs through no fault of a PR author, removing the tombstones concept will fix those by allowing the user to retry. This does mean we accept some risk of not detecting when a port is 'fixed', but that failure is reasonable for us to handle after we see it in CI, but that seems worth it given that it lets us get rid of the tombstone concept.

This also helps out the binary caching feature, because we don't have to figure out how to productize tombstones.
2020-07-02 20:20:07 -07:00
ras0219
135f91de1e
[vcpkg] Implement --x-write-nuget-packages-config= setting for install and x-set-installed (#12138)
* [vcpkg] Implement --x-write-nuget-packages-config= setting for `install` and `x-set-installed`.

* [vcpkg] Add end-to-end testing suite for install, remove, and binary caching

* [vcpkg] Define `$TestingRoot in end-to-end-tests.ps1

* [vcpkg] Address CR comments

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-01 11:36:09 -07:00
Billy O'Neal
532db1d8f7
[vcpkg] VM Update (#12176)
* [qt5] Add more dependent Linux packages for https://github.com/microsoft/vcpkg/pull/11596/

* [vcpkg] Add LLVM 10 to Windows CI machines for https://github.com/microsoft/vcpkg/pull/11655/

* [vcpkg] Add missing Param block to InstallLLVM function.

* [vcpkg] Add throw after all Write-Error calls for consistency with https://github.com/microsoft/vcpkg/pull/12172
2020-07-01 10:53:10 -07:00
nicole mazzuca
0084acc75d
[vcpkg ci] add macos scripts to vcpkg repo (#12172)
* [vcpkg ci] add macos scripts to vcpkg repo

* CR changes

* docs stuff
2020-07-01 10:08:06 -07:00
Billy O'Neal
81ae2ed94b
[vcpkg] Add write-only binary caching for CI. (#12130)
Changes to the binary caching spec made as comments over at https://github.com/microsoft/vcpkg/pull/11204#pullrequestreview-438518901
2020-06-26 12:37:53 -07:00