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

CI does not update private Beta registry if Skip.PublishVcpkg = true. #3700

Closed
antkmsft opened this issue Jun 3, 2022 · 6 comments · Fixed by #3709
Closed

CI does not update private Beta registry if Skip.PublishVcpkg = true. #3700

antkmsft opened this issue Jun 3, 2022 · 6 comments · Fixed by #3709
Assignees
Labels
needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team.

Comments

@antkmsft
Copy link
Member

antkmsft commented Jun 3, 2022

This is not exactly what we want.
When Skip.PublishVcpkg = true, we don't want the PR for the vcpkg repo. But we do want to update our private Beta registry.

Expected: Beta registry gets updated regardless of whether Skip.PublishVcpkg is true or not.

@ghost ghost added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Jun 3, 2022
@antkmsft
Copy link
Member Author

antkmsft commented Jun 3, 2022

@danieljurek, it would be great if you can get this fixed before 6/7 - there are a couple packages that we will be releasing this way.

@danieljurek
Copy link
Member

Thanks for filing @antkmsft, this is a bug.

The line here: https://github.com/Azure/azure-sdk-for-cpp/blame/main/eng/pipelines/templates/steps/vcpkg-publish.yml#L49

Should not be indented as deeply.

The pipeline run is correctly identifying that a package should not be published to vcpkg in this case: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1483258&view=logs&j=3dbdc0e8-0699-52f6-1880-be74b44e10fc&t=589fe240-e4d3-576e-326a-612f68def396
image

And yet the step was running anyway.

Once this is indented properly I expect skipping behavior to work correctly.

@antkmsft
Copy link
Member Author

antkmsft commented Jun 3, 2022

Thank you @danieljurek! Just to be super clear, what will be the guidance when releasing post-GA Betas, once this is fixed - with Skip.PublishVcpkg being true or false?

cc @Jinming-Hu

@danieljurek
Copy link
Member

Only set Skip.PublishVcpkg to true if don't want to publish to vcpkg AND vcpkg beta. All vcpkg publishing is skipped.

If you leave Skip.PublishVcpkg un-set then the vcpkg publishing process will look like:

Version publishing Version already published to main vcpkg Publish to main vcpkg Publish to vcpkg betas
1.0.0-beta.1 <none> Yes Yes
1.0.0-beta.2 1.0.0-beta.1 Yes Yes
1.0.0 1.0.0-beta.2 Yes Yes
1.1.0-beta.1 1.0.0 NO Yes
1.1.0 1.0.0 Yes Yes

In short, we always publish to vcpkg betas and we publish main vcpkg UNLESS the a version already on vcpkg main is a GA version and the version being released is a beta. That is, beta versions of packages do not release over GA packages on the main vcpkg... Customers should not be forced to use a beta package when a GA package is available.

@Jinming-Hu
Copy link
Member

@danieljurek If I want to ship GA version for storage-common package and beta version for storage-blobs package, do I have to do that in two separate pipelines, or can I do it in one pipeline?

@danieljurek
Copy link
Member

@Jinming-Hu -- You can do this in the same pipeline execution. Packages are evaluated independently to determine whether to publish to main vcpkg.

@github-actions github-actions bot locked and limited conversation to collaborators Apr 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants