Commit Graph

65 Commits

Author SHA1 Message Date
Victor Vazquez
c10de791cc
Build ci gates per service (#3260) 2022-01-20 18:09:06 +00:00
Ahson Khan
47a4c44eaa
Bump dependency on azure core for all upstream SDKs and client libraries to the latest shipped version (#3216)
* Bump azure core dependency to latest shipped (identity)

* Bump azure core for template

* Bump azure core for storage (common, and all)

* Bump config.cmake.in for identity vcpkg

* Bump config.cmake.in for template vcpkg

* Bump config.cmake.in for storage common vcpkg
2022-01-11 17:06:06 -08:00
Daniel Jurek
fa0fa97155
Generate map files (#3181)
* Generate map files in build

* Add .map file artifact publishing

* Add Xlinker to spelling exceptions

* Remove PublishMapFiles from clang builds

* Generate the map file artifact name

* CXX_COMPILER_ID and some logging for Clang which might be linking using the GNU linker by default

* More logging

* Move logging out of conditional

* Logging up high, use OS to determine which link flags to set

* Use linker options specific to AppleClang's context, publish map files for all platforms
2022-01-03 13:56:41 -08:00
Anton Kolesnyk
5de42570e2
Make Template to pass the default goals set for code coverage (#3198)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-12-17 13:56:01 -08:00
Anton Kolesnyk
a831b4b3f6
Exclude test, samples, and 3rd party code from code coverage (#3120)
* Exclude test, samples, and 3rd party code from code coverage

* Update min coverage requirement to a true one

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-11-18 13:06:12 -08:00
Anton Kolesnyk
1e01a161cb
Remove LICENSE file duplicates (#3085)
* Remove `LICENSE` file duplicates

* Update hyperlinks

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-11-09 15:55:14 -08:00
Daniel Jurek
198327e16c
Reduce incidence of build storms (#3079)
* Narrower build trigger matrix, introduce batching so changes to main don't trigger builds for every checkin if there are other builds running, expand core to test everything in CI

* Wire up CtestExcludeRegex

* Improvements including scoping to exclude storage tests

* Use correct trigger settings for storage
2021-11-08 15:01:50 -08:00
Daniel Jurek
413b4b7665
Add coverage enforcement (#2992)
* Add coverage enforcement

* Add spelling exception for mspremier

* Use previous build coverage data, enforce 3% variance, use Skip.CoverageEnforcement feature flag

* Use version 8 of quality checks

* Remove forceCoverageImprovement, it doesn't allow 0% improvements (e.g. doc changes, etc.)

* branch -> branches

* Configure coverage thresholds per-service

* Use fixed coverage

* Review feedback

* Per-service coverage plumbing

* Flip branch and line coverage requirements for KV to accurately reflect current baseline
2021-11-03 10:56:32 -07:00
Victor Vazquez
f4e6390dff
Enable no-rtti (#2963)
* Enable no-rtti
2021-10-14 18:12:03 -07:00
Anton Kolesnyk
7332432efd
Re-add vcpkg version constraints (#2781)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-08-24 16:10:07 -07:00
Anton Kolesnyk
6bf52bdbde
Update vcpkg version dependencies (#2718) 2021-08-09 13:15:27 -07:00
Victor Vazquez
5c14975957
remove prefer ninja (#2675) 2021-07-27 19:26:11 -07:00
Anton Kolesnyk
f6765e667e
Put dependency versions (#2518)
* Put dependency versions

* Update version

* Core does not have any 1.1 functionality

* Core 1.1

* 1.1.0

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-06-30 17:05:16 -07:00
Wes Haggard
015c34a029
Update links from master to main (#2488)
* Update links from master to main

* Upate other references from master to main
2021-06-24 22:27:14 -07:00
Daniel Jurek
fda88bf7b8
Update for "master" -> "main" branch rename (#2455)
* vcpkg.json -- update all links to point to "main" .. This is hardcoded and will go out in future releases.
* ci.yml -- add `- main` to trigger criteria near `- master` ... This adds forward compatilbitiy when we rename the branch in the repo
* archetype-cpp-release.yml use a script which evaluates a repo's default branch and sets that in a global variable, then use that variable instead. When vcpkg updates their branch the publishing scripts will work transparently.
* Collect-Changelogs.ps1 -- Add default hardcoded branch name for use with future releases. This can be optionally overridden with a parameter when invoking the script.
* eng/pipelines/client.yml -- Delete this file. It is no longer in use.
2021-06-18 09:09:27 -07:00
Mitch Denny
01ba0b0c9c
Add main to CI files. (#2462) 2021-06-19 01:55:34 +10:00
Daniel Jurek
f1426392b4
Set template version 1.0.0 (#2395) 2021-06-03 18:24:24 -07:00
Anton Kolesnyk
00dfcc2beb
Doxygen comment updates (#2280) 2021-05-17 17:05:06 -07:00
Anton Kolesnyk
efe4772acb
Update upper/lower/other casing (#2267)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-05-14 12:54:16 -07:00
Anton Kolesnyk
00c47e8ec3
Delete vcpkg readme (#2268)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-05-14 12:53:59 -07:00
Anton Kolesnyk
019db35863
Add final specifier (#2237) 2021-05-10 11:57:40 -07:00
Anton Kolesnyk
cd36753d76
PackageVersion made constexpr and moved to src/package_version.hpp (#2166) 2021-04-28 17:34:24 -07:00
Anton Kolesnyk
698e9965c5
VcPkg: format json manifest files (#2151) 2021-04-22 17:37:44 -07:00
Anton Kolesnyk
fdfc915565
VcPkg manifest tweaks (#2149) 2021-04-22 12:27:56 -07:00
Anton Kolesnyk
23f98744ba
VcPkg: use version-semver (#2138) 2021-04-20 11:41:19 -07:00
Anton Kolesnyk
ba714bebd1
VcPkg files: Simplify header comment handling (#2135) 2021-04-20 01:01:16 +00:00
Ahson Khan
d452e94337
Update vcpkg ports to use a manifest json file instead of a CONTROL file. (#2132)
* Update vcpkg ports to use a manifest json file instead of a CONTROL file.

* Update vcpkg ports to use a manifest json file instead of a CONTROL file
for remaining packages.

* Add the new vcpkg manifet json files and also update the template
package.

* Update paths in the cmake and eng scripts to find the right file now
that CONTROL is gone.
2021-04-19 12:50:50 -07:00
Ahson Khan
d638d1ff3d
Move package version to details, and rename VersionString() to ToString(). (#2042) 2021-04-06 00:50:25 +00:00
Chidozie Ononiwu
3d1a58e3f8
Fixup CHANGELOG.md, add SetPackageVersion, add calls to set-test-pipe… (#1936)
* Fixup CHANGELOG.md, add SetPackageVersion, add calls to set-test-pipeline-version.yml

* Run set-test-pipeline-version.yml per artifact, open testpipeline as draft

* git diff to view changes in file

* Move set-test-pipeline-version.yml after Validate Clang Format

* remove second artifact loop in archetype-cpp-release.yml
2021-03-23 11:34:30 -07:00
Anton Kolesnyk
48258f8f81
Azure::*::_detail::Version => Azure::*::PackageVersion (#1839)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-03-10 15:15:28 -08:00
Rick Winter
e7e2ea8bb5
Move Version out of the Details namespace (#1809)
* Move Version out of the Details namespace
SDKVersion strings for each package are not a detail and can be used by customers.

* Add changelog
2021-03-08 10:21:25 -08:00
Casey Carter
f9d4d36ad8
Defend public headers against inclusion of Windows.h (#1719)
* Defend public headers against inclusion of Windows.h

... which defines some nasty function-like macros `min` and `max` when `_NOMINMAX` isn't defined. We prevent expansion as a function-like macro by inserting some token(s) between `min`/`max` and the following `(`. Most commonly that means wrapping the entire qualified-name in `()` a la `(std::min)(x, y)`, but an explicit template argument list (`std::min<int>(x, y)`) works as well.

* clang-format all the things

* Test coverage

I assume that the `azure-meow-common` headers are fully covered by the tests for the `azure-meow-woof` SDKs.
2021-02-23 09:56:00 -08:00
Daniel Jurek
2d4d766c6d
Publishing automation for vcpkg x-add-version (#1649)
* Add azure-template2 to validate publishing multiple packages to vcpkg

* Update versions to avoid release conflict

* Add custom port naming logic

* fix changelogs

* compute path

* Add azure-core-cpp dependency back in

* package name in control file

* Add changes to support vcpkg x-add-version

* Add azure-sdk identity to commit

* Remove old conditions/comments and use -am for commit

* remove -c parameters

* Use --author

* git config local

* space

* work around HasChanges=false

* Bump versions for verification

* Bump versions, update portfile to use azure-template2-cpp ref

* Add PackageVersion

* Revert template2

* Finish reverting template2

* Revert "Finish reverting template2"

This reverts commit aa1461facbdb7ebd1e0ad2d90f8fe5a7c9db9473.

* Revert "Revert template2"

This reverts commit 3a91e82e01e2d1610da0747c2c84e24f52105625.

* Commit without setting user.name and user.email

* bump version

* git commands on same line

* Revert "Revert "Revert template2""

This reverts commit 1721a626e3c2e2b8c43dfe4a2fedf5a891c58793.

* Revert "Revert "Finish reverting template2""

This reverts commit 461a57c14aee97c9b6f83c79fe3a74122c890fb2.

* Finish reverting template2
2021-02-09 14:56:00 -08:00
Anton Kolesnyk
1c26120654
Uncomment temaplte's find_package(core) now that it is released (#1616)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-02-05 16:23:31 -08:00
Rick Winter
72253e0957
CMakeLists for each Service (#1524)
* Add service level CMakeLists
* Fix CMake minimum version
2021-01-29 21:53:16 -08:00
Victor Vazquez
60a4792a0f
Make cmake modules consistent names (#1498)
* AzureVersion

* Vcpkg

* coverage

* missing renames

* missing renames
2021-01-27 18:55:46 -08:00
Anton Kolesnyk
15182d5a34
Fix link errors when producing a DLL, add UWP compilation support (#1346) 2021-01-21 16:52:07 -08:00
Daniel Jurek
f15c823e79
Automate publishing to vcpkg (#1283)
* Disable dependency on azure-core until azure-core releases to vcpkg.

* Remove release artifact creation script and pipeline step

* Copy items from root cmake generate outputs (no need to do individual project preparation)

* Space

* Add VcpkgPortName (package port names may change in the future to include non v1 version numbers like azure-template-cpp-v2)

* Destination should be artifact name, not vcpkg port name

* Disable PR steps

* SHA512 1 -> SHA512 %SHA512%

* New release procedure

* Unblock publishing process

* Increment azure-template version

* Update branch strategy, uncomment final release of template

* Increment version to test release

* Fix remote branch checkout logic

* Increment version

* Exit successfully

* Increment version

* Increment Version

* Version Increment

* Add a difference in the output file to validate multiple runs against a target PR branch

* Enable existing PR branches in create-pull-request.yml

* Increment version

* Fix archetype-cpp-release.yml syntax

* Skip checkout instead

* Increment version

* Fix automated version incrementing

* Increment version

* Update CHANGELOG.md

* Update CHANGELOG.md date

* Revert CONTROL file

* Remove Build-Depends

* Increment version

* Output commands

* Check out branch in either branch scenario

* Increment version

* Fetch the .tar.gz file using convention, the REST API does not give the location of the .tar.gz

* Increment Version

* ToLower

* Increment

* Increment version

* Version updater should not append a new line to the end of the file contents (existing new line at the end of the file will remain, if present)

* Add azure-template2 to validate base case of shipping different packages instead of file replacement validation from previous runs

* Remove extra backtick

* Add template2 to root CMakeLists.txt

* Review feedback: Support main scenario with packages coming from different location (no new file conflicts)

* Remove file blocking link check step. This is ok because the whole azure-template2 folder will be removed after this verification is complete

* Version increment

* Make template2 install in different locations

* Increment version

* Remove azure-template2 that was used for validating publishing multiple packages

* Remove template2 from ci.yml

* Use "SHA512 1" syntax as proposed by vcpkg documentation and regex replacement

* Review feedback

* Increment version

* Quotes

* Review feedback and re-add New-ReleaseAsset.ps1
2021-01-13 14:35:18 -08:00
Anton Kolesnyk
9e94941250
Add copyright and license comments to CONTROL files (#1296)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-01-08 18:15:42 -08:00
Rick Winter
36fbcd9cee
Version strings (#1276)
Moves package version strings in the details namespace.
Fixes #1249 

# Pull Request Checklist

Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:

See the detailed list in the [contributing guide](https://github.com/Azure/azure-sdk-for-cpp/blob/master/CONTRIBUTING.md#pull-requests).

- [x] [C++ Guidelines](https://azure.github.io/azure-sdk/cpp_introduction.html)
- [x] Doxygen docs
- [x] Unit tests
- [x] No unwanted commits/changes
- [x] Descriptive title/description
  - [x] PR is single purpose
  - [x] Related issue listed
- [x] Comments in source
- [x] No typos
- [x] Update changelog
- [x] Not work-in-progress
- [x] External references or docs updated
- [x] Self review of PR done
- [x] Any breaking changes?
2021-01-07 08:07:46 +00:00
Victor Vazquez
8aac9091c2
Mention min clang format version and format all cpp and hpp files with clang-format version 9.0 (#1208)
* Add info about clang-format version

* updates for cpp and hpp format

* special cases
2020-12-17 18:34:23 -08:00
Victor Vazquez
1bfbaf7330
use gtest_discover_tests for creating tests (#1195) 2020-12-16 15:00:01 -08:00
Ahson Khan
f2394ddb02
Following the guidelines, use quotes for files within the same project, and angle brackets for external dependencies. (#1150) 2020-12-11 14:04:59 -08:00
Anton Kolesnyk
3eae7c130c
Add VcPkg support (#1013) 2020-12-11 11:53:37 -08:00
Anton Kolesnyk
828bb4098a
Make changes towards making libraries individually buildable (#1108) 2020-12-09 04:02:29 -08:00
Anton Kolesnyk
bbe4b54528
Do not use ${TARGET_NAME} unless necessary (#1094) 2020-12-07 20:20:06 -08:00
Victor Vazquez
ac09ee6f44
Fix coverage report for template and core pipelines (#1002)
Root Cause:
Storage project generates coverage files in a different location (sdk/*/*cov_xml.xml) from where Core and Template (sdk/*/*/*cov_xml.xml). Basically one level up.

When I added the coverage for Storage, I didn’t know we were also running live tests for Core and Template pipelines. It failed on them because the xml files were not found.

In the PR, I add a new parameter to pipelines to change the default path, and also I am disabling LiveTests from Core and Template, since it only runs the same thing that we run on CI pipelines (We can enable it if we ever have some live tests)


fix: #1001
2020-11-19 20:19:57 +00:00
Victor Vazquez
b8d9d42e5a
Update Notice and add cgmanifest.json (#839)
* Update Notice and add cgmanifest.json
2020-11-18 11:44:22 -08:00
Daniel Jurek
20349daf11
Live test framework (#608)
- Add live test framework
- Enable storage live tests
2020-11-05 14:59:05 -08:00
Victor Vazquez
c764052e7c
Add Code coverage (#830)
* Add code coverage scripts
2020-10-27 15:35:15 -07:00