Commit Graph

33 Commits

Author SHA1 Message Date
Daniel Jurek
de2edfe2c8
Cmake: Add win2019 mitigation (#5528)
* Add win2019 mitigation

* cspell: msiexec
2024-04-12 22:45:42 +00:00
Daniel Jurek
277191789e
install-cmake.yml (#5523) 2024-04-12 08:28:16 -07:00
Anton Kolesnyk
0f7d02b999
Fix case-sensitive spelling in non-common /eng (#5346)
* PR Feedback

* Remove unnecessary instance

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-02-12 14:19:59 -08:00
Daniel Jurek
ce4f25da23
Upload logs on cmake generate/build failure (#5293)
* Upload logs on cmake generate/build failure

* Copy relevant files to staging location, clean up after publishing

* Update cspell words

* Test: break cmake generate in a way that'll produce SOME log files.

* Revert "Test: break cmake generate in a way that'll produce SOME log files."

This reverts commit d5a300587b3359ed3f2bf7be5abea40868f958a7.

* Show failure logs instead of uploading artifacts. Only show log files for vcpkg at this time

* Reapply "Test: break cmake generate in a way that'll produce SOME log files."

This reverts commit 582629ad587f3c9b652ac1f8a7eda5e12d46843a.

* Revert "Reapply "Test: break cmake generate in a way that'll produce SOME log files.""

This reverts commit 7a35250c7e598fc6e1c060f896cbc952704e40bf.

* Another type of test

* Revert inadvertent whitespace changes

* Revert "Another type of test"

This reverts commit e38013f95b152e4e2a3b9d27ccf1eb9b63fa1817.

* More logging
2024-02-07 06:36:36 +00:00
Larry Osterman
faeb832f8a
Initial cut at snippet generation tool. Also updated KeyVault Secrets readme to use snippets as a working proof of concept. (#5213)
* First cut at snippet generation - markdown files only for now.

* Removed trailing blank lines in updated file

* Use snippet generator for keyvault snippets
2023-11-30 19:40:30 +00:00
Daniel Jurek
c9ae5632e3
vcpkg asset cache configuration forward slash (#4972) 2023-09-20 09:17:59 -07:00
Daniel Jurek
04409f28df
Add X_VCPKG_ASSET_SOURCES to vcpkg cache configuration (#4824)
* Add X_VCPKG_ASSET_SOURCES to vcpkg cache configuration

* Prefix with quesiton mark

* Remove question mark

* add --debug

* /,?

* x-azurl

* Remove --debug

* Test no binary cache

* Clear

* Ensure ending of X_VCPKG_ASSET_SOURCES

* Include secrets

* Undo some investigation

* + _SECRET

* Revert testing-related changes
2023-09-19 18:54:20 +00:00
Larry Osterman
a627ab3f22
Initial creation of EventHubs service by @gearama (#4755) 2023-07-13 12:39:18 -07:00
Daniel Jurek
b89e2f79d0
Fix SBOM behavior on forks (#4686)
* Use a YAML template for inserting sbom steps

* Review feedback: naming

* Tab

* Ensure SBOM path exists
2023-06-02 23:07:22 +00:00
Daniel Jurek
c2e845266b
Migrate Ubuntu 18 to 22 directly in the matricses (#4442)
* First cut at migrating Ubuntu 18 to 22 directly in the matricses

* Try 20.04

* Remove azure.list from apt configuration on 22.04

* Parens

* gpp-8 on Ubuntu 20.04

* Remove g++-5

* Move config changes to steps/

* Remove g++-5 from live tests

* Update eng/pipelines/templates/steps/fix-linux-1es-configs.yml

Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>

* Review feedback

* Finish renaming

* Setting line coverage target to 91%

---------

Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>
2023-03-31 12:07:25 -07:00
Daniel Jurek
50589d65b5
Always release to vcpkg when doing Daily Release (#4334)
* Always release to vcpkg when doing Daily Release

* Add ability to skip live tests via variable

* Use 1ES agents instead of Azure Pipelines
2023-03-06 11:47:15 -08:00
Larry Osterman
bb95a22e3f
Added the ability to select OpenSSL 1.1.1n if desired. (#4045)
* Added ability to switch to OpenSSL 1.1.1n

* Fixed OpenSSL compilation challenges - the CRL stuff works now

* Added instructions on using OpenSSL 1.1.1 to README

* Added vcpkg args to handle openssl variants
2022-10-28 15:57:51 -07:00
Daniel Jurek
92957377fc
Set VCPKG_ROOT (#3938)
* Set VCPKG_ROOT

* Update eng/pipelines/templates/steps/vcpkg-clone.yml

Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>

Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>
2022-09-20 17:20:06 +00:00
Victor Vazquez
f4bbfaa7da
[EngSys] Get Vcpkg automatically (#3614)
* get vcpkg automatically
2022-06-07 18:45:50 -07:00
Daniel Jurek
7574e73c9c
Tab vcpkg publishing condition in to apply to the task (#3709) 2022-06-06 11:07:32 -07:00
Larry Osterman
8ca08a1429
Initial implementation of OpenTelemetry APIs. (#3561)
* Start of tracing prototype

* Created initial implementation of azure-core-opentelemetry package

* New version of enabling MSVCRT Lib for static configs

* Attempt to add OpenTelemetry tests to build

* Take a dependency on OpenTelemetry version 1.3

* Added service API level tracing support

* API Review feedback
2022-05-23 16:44:22 -07:00
Daniel Jurek
04cd29039b
Vcpkg Binary Cache Cleanup (#3482)
* Expiration time, eliminate AzureRm warning, condition on Set-VcpkgWriteModeCache

* Attempt uninstalling AzureRM and installing Az.Storage

* Import PSModule-Helpers.ps1

* Unsintall-AzureRm if the function exists

* Get-Command

* Uninstall-Module Azure.Storage

* Log

* quotes

* Get-Command some more

* Format list

* Alias fun

* Naming

* show PSModulePath

* Attempt to handle module double backslash

* do not observe

* do not observe for real

* Spelling

* Empty commit to re-trigger CI with a full matrix
2022-04-04 13:12:16 -07:00
Daniel Jurek
a91d151e79
Vcpkg Beta Automation (for real) (#3497)
* Script that automates updating vcpkg betas

* Wire up to pipeline

* Spelling, commentary

* Clone into repo name

* Remove-Item requires the path to exist, even if -Force is specified

* Bootstrap vcpkg

* Arguments to Test-ShouldReleaseToVcpkg.ps1

* More commit

* Escape quotes

* Quote git commit

* Set strict mode

* Use tags

* Actually tag

* Run git commands

* Invoke-Expression

* Onboard releasing package to vcpkg before attempting to isntall from overaly

* temporarily disable matrix generation (30s tasks sometimes runs for 20+ minutes)

* Test-ShouldReleaseToVcpkg.ps1

* Test-Path

* Test vcpkg build, also ensure we push

* Just the tags... low probabiltiy of success given that '--' if frequently treated as a separator

* Add ability to skip link verification for tighter inner loop

* Push tag separately

* Unnecessary condition and conjunction

* Base repo owner: Azure

* Specify remote name

* Tighten inner loop

* git remote -v

* workingDirectory

* Go back to two tags and a regular push

* Saving some progress

* Use original push method

* BaseRepoOwner

* Cleanup, put changes in the default branch (vcpkg does not look at refs outside of the default branch)

* Use default branch

* Revert changes used to tighten up devops inner loop

* Revert an unrelated change

* Revert unrelated changes

* Revert unrelated changes

* Add spelling
2022-04-01 06:30:03 -07:00
Daniel Jurek
ca8b843954
Revert "Vcpkg Beta Automation (#3430)" (#3495)
This reverts commit 60f0dfdcea.
2022-03-31 13:14:19 -07:00
Daniel Jurek
60f0dfdcea
Vcpkg Beta Automation (#3430)
* Script that automates updating vcpkg betas

* Wire up to pipeline

* Spelling, commentary

* Clone into repo name

* Remove-Item requires the path to exist, even if -Force is specified

* Bootstrap vcpkg

* Arguments to Test-ShouldReleaseToVcpkg.ps1

* More commit

* Escape quotes

* Quote git commit

* Set strict mode

* Use tags

* Actually tag

* Run git commands

* Invoke-Expression

* Onboard releasing package to vcpkg before attempting to isntall from overaly

* temporarily disable matrix generation (30s tasks sometimes runs for 20+ minutes)

* Test-ShouldReleaseToVcpkg.ps1

* Test-Path

* Test vcpkg build, also ensure we push

* Just the tags... low probability of success given that '--' if frequently treated as a separator

* Add ability to skip link verification for tighter inner loop

* Push tag separately

* Unnecessary condition and conjunction

* Base repo owner: Azure

* Specify remote name

* Tighten inner loop

* git remote -v

* workingDirectory

* Go back to two tags and a regular push

* Saving some progress

* Use original push method

* BaseRepoOwner

* Cleanup, put changes in the default branch (vcpkg does not look at refs outside of the default branch)

* Use default branch
2022-03-31 12:52:14 -07:00
Victor Vazquez
835f156af9
Vcpkg manifest and binary caching (#3329)
* binary cache and manifest

* update packages

* udpate

* add cache to private pipeline

* next try

* aver

* other

* again

* aver quick

* more

* this way

* again

* one more

* print

* test

* use depend

* more deps

* dep

* Apply suggestions from code review

Co-authored-by: Daniel Jurek <djurek@microsoft.com>

* updated to use group variable

* update identity

* end line

* Update vcpkg.json

* Apply suggestions from code review

* cspell

* remove comment

* updates

* make cache mode depend on SAS env var

* map env var only for internal pipelines

* other approach

* what about this

* and this

* try

* amd

* another

* extra step

* typo

* override for internal

* use default succeded

* azure core update manifest

* a

* run cmake-generate nightly as well

* check for SAS

* check cache

* no secret

* fix is secret

* pass explicit

* use secret all the time

* char

* One more

* export

* echos

* last

* array

* remove question

* ok

* weird

* use account key

* substring

* VCPKG_BINARY_SOURCES

* Add module installation

* task:

* Correct pathing for module

* update source gen

* format

* update spelling

* IsWindoows

* Use pwsh

* Cannot clobber with PSModule-Helpers. Attempt plain install

* Attempt plain install

* Revert unnecessary change to Update-DocsMsToc.ps1

* template ready

* curl is required on Windows as well for some CI gates

* attestation

* fix format

Co-authored-by: Daniel Jurek <djurek@microsoft.com>
2022-03-24 09:11:30 -07:00
Larry Osterman
d2fd862ce1
Create Attestation SDK (#3228)
* Created Attestation


Co-authored-by: Victor Vazquez <victor.vazquez@microsoft.com>
Co-authored-by: Daniel Jurek <djurek@microsoft.com>
2022-02-16 09:15:18 -08:00
Victor Vazquez
c10de791cc
Build ci gates per service (#3260) 2022-01-20 18:09:06 +00:00
George Arama
9d1ede92ec
Prototype build from source (#3180)
* prepPR

* gitignore updates

* cspell.json

* spell

* cspell typo

* deisable option

* need to look out for this

* reenable tests

* set unset location properly

* building in docker

* format file

* final changes

* PR comments

* update git ignore

* test cmake build

* test 2

* ren steps

* test new step

* try again

* again

* oops

* try again

* put back

* test2

* test5_46

* progress

* more again

* test6_35

* test 6_55

* test_again

* move up

* test

* output params

* try try again

* one more test

* put back curl

* os

* run only on one

* try again

* typo

* switch variable

* set things back

* set things back

* prep for next step

* test source deps new

* try again

* try try again

* typo

* test rewire

* params

* typo

* fix

* get rid of vcpkg

* linux

* mac

* try brew

* try exports

* try again

* typo

* set env

* include dir

* root

* try again

* typo

* dfsfsda

* try agan

* try again

* oops

* sdfsd

* typo

* dsdsad

* hghhg

* update env

* ghhgj

* sAdsad

* try again

* fdfd

* rewrew

* dsadas

* sdasda

* ggggg

* envs2

* envs3

* typo

* order

* try again

* make sure we don't blow up other pipelines

* typo

* typo

* fsdfs

* check null

* put back
2022-01-14 13:06:00 -08:00
Victor Vazquez
dc5b45e759
Test Cmake generate configs (#3230)
Adding extra stage for individual packages generation
2022-01-11 15:49:56 -08: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
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
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
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
Victor Vazquez
c764052e7c
Add Code coverage (#830)
* Add code coverage scripts
2020-10-27 15:35:15 -07:00
Daniel Jurek
5ddeaabab9
Use vcpkg cache (#646) 2020-09-17 21:16:09 -07:00
Daniel Jurek
c7d994f08f
Use vcpkg caching (#361)
* Use vcpkg caching

* fetch tags

* Supply OSVmImage to doc generation so vcpkg.yml can include/exclude the correct set of steps
2020-07-31 15:10:09 -07:00
Daniel Jurek
0cfcdca725
Unified Pipelines for storage (#184)
* Add ci.yml for storage

* OSVmImage

* Use correct name for storage

* Update ci.ymls

* Documentation generation

* Fix tabbing

* More tabbing

* Use correct service directory for storage ci.yml

* Add docs assets

* Use cpp for dropdown generation

* Use cmake to generate documentation

* Use CMake to generate doxygen docs

* BuildArgs -> GenerateArgs

* Correct template path

* More CURL options

* Install curl to satisfy minimum build requirements

* use dependency variable name

* Add VCPKG_DEFAULT_TRIPLET

* Always generate documentaion when -DBUILD_DOCUMENTATION=YES

* Build docs at top level

* Change variable names, simplify cmake-build.yml

* -DBUILD_DOCUMENTATION

* Try using MathJax for formula rendering instead of Latex

* Add version.txt for storage

* artifact.Name -> artifact.Path

* Build docs by target

* Remove Doxyfile

* Remove Doxyfile.template

* Remove generate_docs.py, we are using cmake

* Pass CtestRegex to archetype-sdk-client job template)
2020-06-26 10:42:48 -07:00