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

Add inter-branch merge flow file #10274

Merged

Conversation

f-alizada
Copy link
Contributor

@f-alizada f-alizada commented Jun 20, 2024

Context

Introduction of the merge flow.

Changes Made

  • Added the github workflow (actions) which will be executed on push changes into the vs1** branches and will automatically create upstream merge request.
  • Fixes the version validation step in CI. Following the changes from https://github.com/dotnet/msbuild/pull/10270/files

Testing

Testing was done manually:
https://github.com/f-alizada/msbuild/actions

Should be merged only after this: #10257 is merged

@f-alizada f-alizada requested a review from a team as a code owner June 20, 2024 07:52
@f-alizada f-alizada requested a review from AR-May June 20, 2024 07:52
@f-alizada f-alizada changed the title Add inter-branch merge flow file [DO-NOT-MERGE] Add inter-branch merge flow file Jun 20, 2024
@f-alizada f-alizada self-assigned this Jun 20, 2024
@f-alizada f-alizada requested a review from AR-May June 21, 2024 07:53
@f-alizada f-alizada changed the title [DO-NOT-MERGE] Add inter-branch merge flow file Add inter-branch merge flow file Jun 21, 2024
@f-alizada f-alizada merged commit 000df9a into dotnet:vs17.11 Jun 21, 2024
10 checks passed
JanKrivanek added a commit that referenced this pull request Jul 8, 2024
* Final branding for 17.11 (#10270)

* Final branding and public API version update

* Update the regex for initial commit detection

* Disable CustomAnalyzerTest

* Delete CompatibilitySuppressions file

* Add inter-branch merge flow file (#10274)

* Add version to BuildResult 2 (#10288)

Fixes #10208

Context
We are adding a version field to this class to make the ResultsCache backwards compatible with at least 2 previous releases (meaning the newer VS can read a cache created by older VS). The cache is not forwards compatible (older versions of VS cannot read cache created by newer versions). The adding of a version field is done without a breaking change in 3 steps, each separated with at least 1 intermediate release.

Execution plan:

1st step (done): Add a special key to the _savedEnvironmentVariables dictionary during the serialization. A workaround overload of the TranslateDictionary function is created to achieve it. The presence of this key will indicate that the version is serialized next. When serializing, add a key to the dictionary and serialize a version field. Do not actually save the special key to dictionary during the deserialization but read a version as a next field if it presents.

2nd step: Stop serialize a special key with the dictionary _savedEnvironmentVariables using the TranslateDictionary function workaround overload. Always serialize and de-serialize the version field. Continue to deserialize _savedEnvironmentVariables with the TranslateDictionary function workaround overload in order not to deserialize dictionary with the special keys.

3rd step: Stop using the TranslateDictionary function workaround overload during _savedEnvironmentVariables deserialization.

Changes Made
1st step from above description.

Testing
Unit tests, manual tests, experimental insertion

* Add CompatibilitySuppressions.xml

---------

Co-authored-by: AR-May <[email protected]>
Co-authored-by: Farhad Alizada <[email protected]>
Co-authored-by: Jan Krivanek <[email protected]>
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.

3 participants