Comments (10)
There was some talk of cleanup before, but I don't remember where it was left off. @mmitche
from arcade-services.
In prodcon v1 we were very much concerned about this because the source did not describe what packages were actually inputs to the build. In other words, if the package stopped appearing in the 'channel' (upstream build), then you could effectively downgrade the package without knowing. Prodcon v2 doesn't suffer from this as much.
It's entirely valid that packages would stop being produced in a channel, like if we service package X in 3.0.5 but not in 3.0.6. so how do we differentiate these cases? I do like the idea of deprecation/removal though. Basically saying that "components should not take a dependency on this package any longer". That would cover both your scenarios above.
In my mind, this gets implemented as:
- Deprecate X on channel Y. So System.Strawberry is no longer part of .NET Core 3 Dev from here on out. When Maestro runs the update for a subscription, it cross checks the existing data in the repo at the HEAD hash that it's about to update against the deprecation table for the channel, and issues an error.
This means that other channels (e.g. a servicing channel) work just fine still, as maybe System.Strawberry is still there and being produced.
from arcade-services.
Ok, here is a concrete example. I'm not seeing updates to System.Threading.Tasks.Extensions on the '.NET Core 3 Dev' channel to aspnet/Extensions. I've just noticed this. What should I do? Email the corefx team to see if they dropped this package? Investigate darc to see if this is a Maestro bug? Remove the dependency and pin to an LKG version?
from arcade-services.
I would probably email the corefx team in this case. It's not being produced.
from arcade-services.
I believe it's part of Microsoft.NETCore.App
from arcade-services.
Thanks. How did you figure out that it's not being produced anymore? My main point was that nothing in the system makes it easy to figure this out.
from arcade-services.
I used the swagger API (https://maestro-prod.westus2.cloudapp.azure.com/swagger/ui/index.html#/Builds/Builds_GetLatest) to look up the latest corefx build.
from arcade-services.
Though, I will say that nothing in corefx is really easy to figure out. It's one reason why we have so many issues shipping bits incorrectly from there.
from arcade-services.
For this specific case, I've opened https://github.com/dotnet/corefx/issues/34473
from arcade-services.
I have some thoughts about this that would involve maintaining a baseline per repo and then getting a delta of what is included in the latest pushes. When somethings is detected to be missing we notify the repo owners and once deprecation/rename is confirmed then we update the baseline. Let's talk more about this in person when we have a chance
from arcade-services.
Related Issues (20)
- Rollout 2024-04-10 HOT 1
- Setup automatic deployment of .NET Release Infrastructure Grafana board HOT 1
- Non-descriptive darc exception for missing bar token
- Build failed: arcade-services-internal-ci/main #20240409.3 HOT 6
- Remove build reason check for post-build stage in internal builds
- Rollout 2024-04-05 HOT 1
- Rollout 2024-04-24 HOT 2
- Register ITelemetryRecorder service HOT 2
- Rollout 2024-05-02 HOT 1
- Authenticate to BAR using Managed Identity HOT 1
- Build failed: sdk-dotnet-dotnet-synchronization/main #20240501.7 HOT 4
- darc vmr update command incorrectly applies a newly added patch with the `--reverse` option
- Rollout 2024-05-09 HOT 1
- Migrate Maestro to `Octokit.Webhooks`
- Build failed: sdk-dotnet-dotnet-synchronization-internal/main #20240507.3 HOT 34
- Build failed: sdk-dotnet-dotnet-synchronization/main #20240508.2 HOT 14
- Update dotnet-release grafana HOT 1
- Build failed: arcade-services-internal-ci/main #20240509.3 HOT 26
- Rollout 2024-05-15 HOT 2
- Build failed: installer-dotnet-dotnet-synchronization-internal/internal/release/8.0.1xx #20240516.2 HOT 16
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arcade-services.