-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Add source-index build job to pipeline #37028
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
Conversation
.azure/pipelines/ci.yml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This list is a little spooky, it seems likely people won't know to update it if/when our set of jobs changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Been this way forever unfortunately. AzDO schema doesn't provide a way to automagically wait for almost every other job.
Main mitigation is @dotnet/aspnet-build are automagically reviewers whenever a .azure/ file is changed.
wtgodbe
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM other than the comment
|
Fortunately, my typo was in the last commit and didn't invalidate internal build 20210927.7 |
7838407 to
90a72d6
Compare
|
New internal (real test) build is 20210927.10 |
90a72d6 to
6e94598
Compare
|
Sorry to those playing along for squashing all prior commits on you. New test build is 20210927.27 |
6e94598 to
a138fbb
Compare
|
This link is currently broken on http://source.dot.net |
|
The approach of using a binary log from another job isn't going to work at all. The processing seems to require generated files. My main idea is to build and process the binary log in one job then do the "Upload stage1 artifacts to source index" part using a new artifact from the first job (after the rest of the build completes successfully). The main downside will be not keeping us up-to-date w/ eng/common/templates/job/source-index-stage1.yml. Ideal would be a step template or two from Arcade that installs and runs Thoughts @alexperovich @davidfowl @wtgodbe❔ Other suggestions❔ |
|
would this just be downloading a new artifact from the first build? Would the preSteps parameter not work for this? |
Since there's no reason not to proactively run Just using |
a138fbb to
7023165
Compare
|
Have the C# upload / download working now, I hope. Latest test build is https://dev.azure.com/dnceng/internal/_build/results?buildId=1393133&view=results This time, the exact internal build commit is present here on GitHub too. I just added the main-branch-only commit here. That should help your checks @davidfowl (assuming the test build works). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The key word here is "runtime" i.e. the value of artifact.path for the Windows_arm_csharp artifact is $(Build.ArtifactStagingDirectory), not e.g. D:\a\_work\1\a.
|
I don't have a problem with running BinLogToSln in a separate job, I can update the code in arcade once we get a design that works for aspnetcore. |
7023165 to
ebbcd42
Compare
- #33534 - start source indexing after other jobs - do not update https://source.dot.net/ from failed builds - use 1ES agents - `windows-latest` might work but prefer to protect binary log - use Windows_arm_build binary log - align binary log with source-indexing agent i.e. always use Windows - much faster than Windows x64/x86 build - provide another binary log, even in internal builds nits: - remove unnecessary backslashes in the Linux_x64_build job's `script`s - instead separate commands with a semicolon - confirm test build success before BAR updates in manual builds - merge a couple of `in(...)` expressions
- required for source-indexing from the binary log
- this approach is taking us down a rabbit hole This reverts commit 033ba5696bbc545538bcf9172825a70e5e7bff49.
- this approach is taking us down a rabbit hole This reverts commit 6426a6195972dc778de4552eb70a978f1ed57adf.
- current template not well suited to reuse a binary log from another job
ebbcd42 to
9721e92
Compare
|
Very different than previous iterations but working 🎉 Build 20211001.17 was successful and uploaded what looks like a complete set of sources. Due to how I organized the template expressions, the commits here are identical. https://source.dot.net/ should have no broken links. But, right now, it's using the now-lost commit from my first (prototype) successful run. |
| - name: testSourceIndexing | ||
| default: false | ||
| displayName: Test source indexing? !Danger! see comments in YAML. | ||
| type: boolean |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This parameter is visible in the AzDO UI but, as mentioned in the comments, ignored in public builds.
|
@alexperovich, @wtgodbe is OOF now. I'd appreciate you double-checking this PR before I merge it. Thanks… |

windows-latestmight work but prefer to protect binary lognits:
scripts