Commit Graph

93 Commits

Author SHA1 Message Date
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
Daniel Jurek
52e0eeb393
Add test result uploading (#3017)
* Add test result uploading

* Use -T

* Add displayName and buildConfiguration

* Add live testing result upload

* buildConfiguration -> testRunTitle

* Live tests 'Validate' -> 'ValidateLive' to differentiate job names in Test results output
2021-11-03 10:54:43 -07:00
Daniel Jurek
c534a1e160
Cognitive Matrix Consolidation (#2947)
* Refactor template to use multiple builds on the same machine resetting the machine and runtime varaibles along the way

Move template expression out of default matrix parameters

Remove extra reference to ci/jobs.yml

Remove unnecessary ci.yml, change param declaration in devops-variables-set.yml

Heredoc

Fix set/reset scripts after testing with devops outputs

-ErrorAction Ignore

Smaller matrix

OsVMImage comes from machine, not parameters

Add Ubuntu 20 to matrix

Remove checkout: self, it is implied

Move machine-setup steps outside of loop

CODE_COVERAGE handling

tab

Remove creation of CODE_COVERAGE

Use AptDependencies and add apt update to dependency install step

Remove extra preparation steps

Enable code coverage check scenario

Add MacOS 11

Disable vcpkg cache

Coverage configuration

Pass parameter properly

bool -> boolean

Install coverage tools if it's possible that coverage may run

More logging on code coverage

Show contents of Makefile

One vcpkg to build them all

Verbose

SourcesDirectory

Nesting VcpkgInstall

workingDirectory for vcpkg install

AptDependencies

complete the conditional

Enable all matrix entries

sudo

Remove extra chatter

More scrubbing post-build to help with Windows scenarios

sudo echo

Get-ChildItem

ErrorAction

sudo sh -c

More ErrorAction

output sourceListFile

Disable additional sources.list

Install coverage tools when used for coverage

COndition

Do not build testing for Windows arm64

Correct path for coverage tools

ne -> eq

Add more scenarios to the matrix

Remove libxml2

Add MacOS 10.15 to matrix

Revert "Remove libxml2"

This reverts commit 178af8b89abb21ee84dbcd25b4d54bd90ec1d44c.

Add libxml2 to MacOS 10.15 matrix entry

Display name decorator, refine the matrix

Remove OsVmImage variable

Add commentary to tests about matrix

Rebalance matrix, nest EnvVars, DisplayNameDecorator

Correct parameter access

AptDependencies

Ensure building for WindowsStore in UWP builds, Only build tests for debug builds in altered matrix entires, Linux build type specified as environment variable

Rebalance matrix for better timing

Remove all instances of libxml2 in vcpkg dependencies

Move common devops tasks to eng/common

Set eng/common paths in pipelines

Revert "Remove all instances of libxml2 in vcpkg dependencies"

This reverts commit 35ffbc7aac87f400fdf3351076346750c1c750ed.

https://github.com/Azure/azure-sdk-for-cpp/issues/2946

Permit words like iname in more pipeline .yml files

Remove libxml2 from vcpkg dependencies for Windows

Perf test matrix maxParallel: 10

Validate

apt install first

apt install first

maxParallel: 12

-j 8

-j 10

Use matrix generator

Add expected parameters

Move parameters to appropriate file, fix cloud spec

Specify correct platform matrix location

DependsOn

Platform matrix

Remove DisplayNameDecorator, try more clang information

Rapid iteration matrix

clang --version

install clang-11

Use correct pool

Use full matrix, revert additional logic in jobs/ci.yml

* Review feedback: newline

* Review feedback: Test in release, too

* Remove DisplayNameDecorator (it was useful when we were putting multiple builds into a single job, now it is redundant)

* Remove displayNames

* Matrix review feedback

* Conditions

* Rename ci.yml -> ci.tests.yml
2021-10-22 13:49:10 -07:00
Victor Vazquez
f4e6390dff
Enable no-rtti (#2963)
* Enable no-rtti
2021-10-14 18:12:03 -07:00
Daniel Jurek
14aa1516d0
Add spell check exceptions and enable CI failure for spelling errors in changed files (#2865)
* Add spell check exceptions and enable spell check failures

* Add HRESULT and sort spelling list

* Add exceptions for cmake-modules
2021-09-13 14:38:49 -07:00
Daniel Jurek
af44672837
Releases to vcpkg tag codeowners (#2825)
* Attempt tagging of @danieljurek in PRBody

* Attempt to assign reviewers

* Use codeowners, filter out groups, use a default owner, add comments to issue.

* Move variables to right level of config

* Set PrOwners variable

* Remove PR owners, requires admin permissions

* Escape DevOps variable to expand into string

* Add AuthToken

* Tweak portfile and codeowners to validate multiple artifact scenario

* Revert "Tweak portfile and codeowners to validate multiple artifact scenario"

This reverts commit bcc7a36119c7f399f1b079f51889d6ff0d499142.

* Review feedback

* Validate fallback logic

* Deal with empty list of owners

* Revert "Validate fallback logic"

This reverts commit ade2dff5a7d9cac9bb61fdc0f92cd50412b7c31c.
2021-09-09 14:47:15 -07:00
Daniel Jurek
deac75c2a4
Remove cspell enforcement, there are edge cases where cspell will fail incorrectly based on undocumented configuration behavior (#2811) 2021-08-27 23:08:35 +00:00
Daniel Jurek
2418581e2e
Spell Check Phase 2 (#2794)
* Formatting

* Add cpp to dictionaries, comment to words section, and opted-out paths for spell checking

* Enable blocking of PRs on spelling error
2021-08-26 14:15:22 -07:00
George Arama
a861ae5853
add AZURE_TEST_MODE (#2792)
* add AZURE_TEST_MODE

* fix values
2021-08-25 10:16:03 -07:00
Victor Vazquez
49636a2f93
ignore result of function to compile on G++ 5 (#2784)
* ignore result of function

* changelog

* Add g++5 to CI legs

* use inline config for g++ 5

* update flag

* set default values for variables

* fix format
2021-08-24 15:55:46 -07:00
Daniel Jurek
ae4a41cfbd
Use Clang 11 in Ubuntu 20 (#2776)
* More logging, faster matrix

* Verbose makefile

* Add code that is expected to cause failure

* Use clang with Ubuntu 20

* Install clang-format-11 in another step

* Revert "Add code that is expected to cause failure"

This reverts commit 7ff7201e1b81e17c168b7598f0d23c489b5e6f43.

* Remove cmake args, add build args -j
2021-08-19 17:14:08 -07:00
Chidozie Ononiwu (His Righteousness)
3e39e0e44a
Add auto-merge to Version increment PR (#2708) 2021-08-03 16:34:07 -07:00
Daniel Jurek
d9b5d69723
Revert "Update Ubuntu VM Image from 18 to 20 (#2564)" (#2689)
* Revert "Update Ubuntu VM Image from 18 to 20 (#2564)"

This reverts commit 59440caa39.

* Add Ubuntu 20 to matrix
2021-08-03 09:14:34 -07:00
Chidozie Ononiwu (His Righteousness)
59440caa39
Update Ubuntu VM Image from 18 to 20 (#2564) 2021-07-27 15:20:37 -07:00
Victor Vazquez
9b06fc8f33
compile samples (#2556)
* compile samples
2021-07-07 06:50:05 -07:00
Daniel Jurek
83b8feeb35
Add dependency on LiveTest to release (#2457)
* Add dependency on LiveTest to release

* Add DependsOn to archetype-cpp-release.yml stages, conditions around LiveTest (if we don't execute live tests don't require them for release)

* Remove template conditions for LiveTest and always require it

* Revert "Remove template conditions for LiveTest and always require it"

This reverts commit dc0615ca084b7bb476cbc3806df70f92f2bf0304.
2021-06-30 13:41:16 -07:00
Victor Vazquez
7a31ca5dd3
Fix Main - ignore warning 6101 (#2471)
* Ignoring msvc warning 6101

* remove not required

* not required

* perf issues

* fix livetests build args
2021-06-23 23:50:07 +00: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
Victor Vazquez
a63a892002
CI builds Perf test (#2446) 2021-06-14 14:29:09 -07:00
Victor Vazquez
05ef02de90
add multithread build to macOS (#2400) 2021-06-03 21:44:45 -07:00
Azure SDK Bot
bb0d1287bc
Sync eng/common directory with azure-sdk-tools for PR 1615 (#2335)
* Move docindex.yml from steps -> jobs

* Add docindex.yml

Co-authored-by: Daniel Jurek <djurek@microsoft.com>
2021-05-20 17:20:46 -04:00
Daniel Jurek
8cf7746b6b
Add spellcheck (#2181)
* Add spellcheck

* Add spelling error

* Format cspell.json

* Revert "Add spelling error"

This reverts commit 37446522791492e8ee2c1c54af0d2da1e162d2e4.
2021-05-03 19:13:02 +00:00
Mitch Denny
79c9e12741
Enable retain runs. (#2145) 2021-04-23 09:17:08 +10:00
Mitch Denny
5f7f4783bb
Revert retain. (#2109) 2021-04-13 16:25:39 +10:00
Mitch Denny
ff2de0e506
Enable retain runs. (#2101) 2021-04-13 03:35:20 +00:00
Daniel Jurek
35950242fb
Remove Manual build reason at the archetype-sdk-client.yml level. The appropriate check is already in place in archetype-cpp-release.yml (#2095) 2021-04-12 08:53:03 -07:00
Daniel Jurek
5a99f38df1
Add nightly vcpkg publishing (#2025)
* Tool changes to support nightly test package release

* Initial wiring up and refactor vcpkg-publish.yml

* Use vcpkg-clone.yml

* Disable publishing for verification of nightly builds

* Complete the comment

* Dependency is enforced at the stage level, not the deployment/job level

* Remove environment, no approval needed

* Add ability to enable test release parameters

* deploy -> job

* deployment -> job

* Remove strategy

* Download pipeline artifacts

* task -> download

* Set appropriate working directory

* git status

* Set working directory

* Add pipeline for nightly vcpkg PR update

* Correct vcpkg-clone.yml path

* Add identity parameters to git merge commands

* Remove GitIdentityParameters, the merge command does not suppor tthem. Add instead in the pipeline

* Split lines

* Write-Host

* Template for nightly branch name, update comments, Check for scheduling or "PublishNightlyVcpkg"

* include archetype-cpp-release.yml changes

* Re-enable publishing stage

* Close the and

* Runtime condition for integration stage

* Move integration below package publishing stages

* try -- to disambiguate

* ^ -> ~

* Remove --

* Documentation and variable naming

* Move documentation comment

* Update eng/pipelines/templates/steps/generate-nightly-branch-name.yml

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>

* Review feedback

* Add ability to skip all release steps

* Equal sign

* The right number of dashes

* Checkout before merge

* Checkout the default branch

* --no-ff

* git reset

* Skip publishing for artifacts which are not publishign to vcpkg

* Add git config --unset

* Apply suggestions from code review

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>

* Review feedback

* Review feedback

* Remove extra reset

* TestRelease -> DailyRelease

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>
2021-04-06 14:48:32 -07:00
Victor Vazquez
cd4ea9966d
remove verbose config from win ci (#2002) 2021-04-01 01:32:26 +00:00
Daniel Jurek
e396888726
Manually install gcc and g++ 8 if needed (#2012) 2021-03-31 18:36:44 +00:00
Chidozie Ononiwu
7d9032fcc8
Add flag for closing the pull request immediately after opening it (#1965) 2021-03-24 09:52:36 -07: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
Daniel Jurek
90cd888a63
Refactor vcpkg PR step (also, use CHANGELOG.md entry in commit message) (#1791)
* Validate publishing before parameter refactor

Fix release yaml syntax

Environment variable naming

Remove flag

Remove checkout step

Reset the commit

Cleanup Update-VcpkgPort.ps1, mostly git reset HEAD^. Attempt to check out branch in remote.

Try putting CHANGELOG entry into commit message

Include common.ps1 for changelog operations

Correct path for common.ps1

Include the scripts folder as well

Quotes

Refactor to use release artifacts, perform the commit in Update-VcpkgPort.ps1, set parameters and variables needed to complete PR with the commit step already finished

* Add PR body

* Add newline
2021-03-08 16:18:47 -08:00
Daniel Jurek
272c229071
Add timeoutInMinutes: 10 to Vcpkg Cache (#1792)
* Add timeoutInMinutes: 10 to Vcpkg Cache

* Add comment about Vcpkg Cache timeout
2021-03-08 15:46:38 -08:00
Chidozie Ononiwu
e04624f9a5
Add eng common workflow enforcement (#1760) 2021-03-02 12:54:04 -08:00
Mitch Denny
b68a20e3d2
Re-enable agent OS verification (#1624)
* Re-enable agent OS verification
2021-02-16 15:53:56 +11: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
Daniel Jurek
d92e88415b
Add succeeded() condition to dependent jobs (#1605)
Without checking for succeeded() these jobs will run regardless of the success or failure of the TagRepository step.
2021-02-05 16:28:16 +00:00
Daniel Jurek
dbd9c62a78
Add TagRepository dependency (#1567)
* Add TagRepository dependency

* Remove extra CPP
2021-02-02 09:55:07 -08:00
Daniel Jurek
2cc9099e1a
Add bypass-local-dns.yml to CI and test jobs (#1497)
* Add bypass-local-dns.yml to CI and test jobs

* Remove from client builds. Use of pools does not set variables needed for this to run. The fix may belong in another change.
2021-02-01 21:48:36 -08:00
Victor Vazquez
c6b919ac2a
release mode test for Linux with test (#1560)
* release mode test for Linux with test

* Fix GCC warning when building in Release configuration

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2021-02-01 21:43:40 -08:00
Mitch Denny
d30408becd
Move live tests over to 1ES pools. (#1531) 2021-02-02 08:53:54 +11:00
Mitch Denny
2775d8680b
1ES pools update for release pipeline (#1519) 2021-02-01 10:45:38 +11:00
Victor Vazquez
6c3aeed35c
Json unit tests (#1464)
Adding json unit tests
2021-01-27 10:07:12 -08:00
Daniel Jurek
583120d3ef
Add timeout parameter to live test job (#1478) 2021-01-26 15:04:37 -08:00
Ahson Khan
a850513e28
Update clang format validate script instructions when it fails to be accurate (#1460)
Syncing the instructions based on changes from https://github.com/Azure/azure-sdk-for-cpp/pull/1438

Currently, the instructions suggest running a command which may not work on all OSes:
https://dev.azure.com/azure-sdk/public/_build/results?buildId=701256&view=logs&j=0585f5d6-0937-5c15-894c-06e189e06847&t=a45688da-a69e-5817-f832-3aa6246959b7
```text
Some files were not formatted correctly according to the .clang-format file.
Please run clang-format version 10 or greater to fix the issue by using this bash command at the root of the repo:
find sdk/ -regex '.*\.\(cpp\|hpp\)' -exec clang-format -style=file -i {} \;
```
2021-01-26 01:44:04 +00:00
Victor Vazquez
4455ac577c
Move clang-format check to include tests (#1438)
* Move clang-format check to include tests
2021-01-22 13:35:59 -08:00
Victor Vazquez
385a7887a2
Moving json to internal (#1378)
Wrap nlohmann json lib inside core internal api
2021-01-22 11:12:27 -08:00
Victor Vazquez
a2bc2e9d99
remove static analysis from CI (#1423)
fixes: #1422
2021-01-21 20:20:27 +00:00
Victor Vazquez
473c7ee0b0
add libcurl to livetest pipeline (#1413) 2021-01-20 19:39:00 -08:00
Victor Vazquez
f285aaead9
Make CI fail if there are clang format errors (#1328)
Won't pass until #1330 is merged first

fixes: #1329
2021-01-20 01:09:29 +00:00