Skip to content
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

SDK tools pipeline evolution #40

Closed

Conversation

mitchdenny
Copy link
Contributor

This PR shows some early exploration into restructuring the SDK tools repo and associated pipelines. I've created a pipelines folder under eng like in the azure-sdk-for-net. I also restructured the source files under a tools folder with a sub-path for each discrete tool (still a little more to be done).

For now I just have one CI pipeline that builds everything. I collapsed doc-warden down into a single job build for performance reasons and overall the pipeline for pixel-server, doc-warden and the roslyn analyzers only runs for 3-4 minutes. At this point I don't think we'll get much extra by optimizing it further since all these jobs run in parallel.

I wanted to share this now so we could discuss direction here.

@mitchdenny mitchdenny requested a review from weshaggard May 6, 2019 22:34
@mitchdenny mitchdenny self-assigned this May 6, 2019
eng/pipelines/tools.yml Outdated Show resolved Hide resolved
@weshaggard
Copy link
Member

cc @scbedd

@weshaggard
Copy link
Member

Looks like you moved things under a tools folder for developers working in this repo do you think it is still better to group things by language?

@mitchdenny
Copy link
Contributor Author

Looks like you moved things under a tools folder for developers working in this repo do you think it is still better to group things by language?

This repo is different than all the others. In the others we have a lot of code that all follows the same overall pattern, but in this one we've got lots of small tools/utilities, each one optimized for the particular scenario it is trying to solve. Rather than try to group by language and enforce a common set of build patterns by that language grouping I thought it would be easier just to have sub-directories under tools to allow for some flexibility - although some things will be reusable.

@weshaggard
Copy link
Member

This repo is different than all the others. In the others we have a lot of code that all follows the same overall pattern, but in this one we've got lots of small tools/utilities, each one optimized for the particular scenario it is trying to solve. Rather than try to group by language and enforce a common set of build patterns by that language grouping I thought it would be easier just to have sub-directories under tools to allow for some flexibility - although some things will be reusable.

Ok we can try that but I do think it might be nice to be able to share some things across the langauges, for example common targets/props in .NET, etc. Lets see what patterns end up emerging.

@mitchdenny mitchdenny marked this pull request as ready for review May 13, 2019 18:15
@mitchdenny
Copy link
Contributor Author

Closing this one down as it is now way out of date.

@mitchdenny mitchdenny closed this Jul 29, 2019
sima-zhu pushed a commit to sima-zhu/azure-sdk-tools that referenced this pull request Dec 3, 2020
* core library template.

* az_core

* let

* minor

* AZ_CSTR

* az_str and az_static_assert.

* az_cstr

* length

* stream

* az_http

* test

* test

* more functions

* additional options

* data state

* another try

* more

* strange

* number draft

* az_json_number

* number + string

* keywords

* az_json_token

* data types.

* data types

* Slices and index ranges.

* JSON token

* reorder

* readme

* Thoughts about reactive parser.

* something new

* errors

* digit, string

* state

* readme files

* issues

* comments

* notes

* it works

* readme.md

* a lot

* pointers

* another test

* No need for JSON state.

* No need for az_sign.h

* Stack overflow check.

* az_const_str_eq

* minor.

* ++*p => *p += 1

* C99 unions, stack push/pop.

* more tests.

* Update documentation.

* Symols.

* az_is_digit => isdigit

* Changes.

* Simplify number parsing.

* test

* Less nested `if`.

* AZ_MAKE_ERROR / AZ_MAKE_RESULT

* RETURN_IF_NOT_OK.

* az_const_str

* az_dec_number

* Test

* AZ_SPAN

* Span of bytes.

* tests

* run tests

* enable_testing()

* Fix test

* Address comments.

* az_json_read.

* az_span

* Reader

* const bug

* Tabs -> spaces (Azure#37)

* Remove the last tab occurrence (appeared after the most recent merge) (Azure#38)

* Tabs -> spaces

* internal PR (Azure#39)

* az_option_byte

* refactoring for az_json_read_keyword_rest

* az_json_read_string_rest

* az_span_reader improved.

* az_const_span_sub

* clang-format.

* CLANG

* address comments

* formatting.

* Add core error for any argument-related errors (Azure#40)

* Comments.

* Update clang-format and reformat core files (Azure#42)

Update clang-format and reformat core files

* Remove az_option

* Revert "Remove az_option"

This reverts commit bad54a61702ef5e77c16a631d9339862b4878a27.

* EOF

* Add prefix/suffix header files; Switch to 100 char width style (Azure#43)

* Add prefix/suffix header files

* Switch code formatting back to 100 char max width

* EOL@EOF

* Fix forgotten instance to include epilog

* Shorten the name for AZ_CORE_ERROR_ARGUMENT, as seen in another Sergey's branch. (Azure#44)

* _az_cfg

* AZ_ERROR_FLAG

* static assert

* counter

* inline static_assert

* dummy

* another one

* dummy function.

* defaults

* static inline

* static

* main

* GCC

* UNIX
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants