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

Create unified story for samples in our repo #24070

Closed
heaths opened this issue Sep 17, 2021 · 4 comments
Closed

Create unified story for samples in our repo #24070

heaths opened this issue Sep 17, 2021 · 4 comments
Labels
Client This issue points to a problem in the data-plane of the library. Docs EngSys This issue is impacting the engineering system.

Comments

@heaths
Copy link
Member

heaths commented Sep 17, 2021

We have a number of different ways of doing samples in Azure/azure-sdk-for-net, as seen in /samples, /sdk/keyvault/samples, and some SDKs' individual samples directory. The /samples directory is effectively outside the scope of most of what /eng/*.{props,targets} files do, but we still want:

  1. Some (all?) analyzers to run to make sure the code is good.
  2. The test infrastructure to optionally run the samples to make sure they actually work.
  3. A way to use and deploy shared source if necessary. I did this in /sdk/keyvault/samples/sharelink but it's incredibly hacky.

Basically, it would be ideal if we can get some of the benefits like analyzers and test infrastructure without the assertions like even specifying our own PackageReference/@Version attribute, which customers downloading sample code would need (our @OverrideVersion will not be effective).

@ghost ghost added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Sep 17, 2021
@heaths heaths added the Docs label Sep 17, 2021
@ghost ghost removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Sep 17, 2021
@heaths heaths added the EngSys This issue is impacting the engineering system. label Sep 17, 2021
@kurtzeborn kurtzeborn added the Client This issue points to a problem in the data-plane of the library. label Sep 20, 2021
@kurtzeborn
Copy link
Member

I know the current thinking is to keep samples out of smoke tests, but if that changes, please coordinate with @ckairen and @benbp on the smoke test story.

@pallavit
Copy link
Contributor

@heaths I believe we unified our story with testable samples, do you still see discrepancy in the newer SDKs? If so could you please share what the unified experience would look like?

@heaths
Copy link
Member Author

heaths commented Jan 3, 2024

I helped drive testable samples in the first place. :) This is actually different. Only SDK-specific samples get the benefits of stuff under eng/ but root- or service directory-level have to get...creative.

That said, unless @jsquire - who has also been involved in various discussions of this nature - has any strong desire that we should invest in this area, this has been open for a couple years and we still haven't acted on it, so I agree it's probably not high-priority. sdk/keyvault/samples I've pretty much dealt with - though at great expense - and can hopefully save others time by copying patterns I established there.

@jsquire
Copy link
Member

jsquire commented Jan 3, 2024

@heaths: I'm good with closing this out. The patterns from KeyVault have also been used by packages in the messaging ecosystem and the overall patterns for enabling in-repo and stand-alone use have held up well.

@heaths heaths closed this as not planned Won't fix, can't repro, duplicate, stale Jan 3, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Apr 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library. Docs EngSys This issue is impacting the engineering system.
Projects
None yet
Development

No branches or pull requests

4 participants