Comments (3)
Thanks for the sleuthing here. It does seem that this should be possible to address, and may be an oversight from the way things are modeled with autoUpdate
being owned in config by the top level SCM
along with values like id
/name
etc.
However there is some potential complexity/mess here to consider due to the way SCMs are de-duplicated which we'd need to reconcile to ensure the semantics are the same as for the non-pluggable materials (equally deterministics or non-deterministic).
from gocd.
@chadlwilson Thanks for investigating this.
What do you think is the next step forward here?
from gocd.
See the discussion at #11636 (comment) and below in particular. The extent of my thoughts are on the PR, and haven't got any further than that.
There's probably not really a next step without addressing the concerns on approach, which I'm not sure how to do right now (or put differently, have not had the time/energy/inclination to figure out).
The benefit appears somewhat small (given how long the config repo feature has been around and no-one highlighting this gap until now, that I can find!), and at the moment the effort/risk is relatively high, so we need to find a way to change that equation, which is rather difficult with the resources available.
TL;DR The current proposed approach in the PR has at least two problems
- can silently mutate configuration outside the config repository's scope, including materials that are not within scope of a given change, unintentionally affecting other pipelines.
- appears to mutate shared configuration objects in memory prior to a change being fully validated as safe to merge into the configuration, in a way that is not reverted/undone if the change later fails a validation constraint (this requires specific validation)
That's not really a solution I am comfortable with given the chance for unintended consequences that will be difficult for a user to reason about or debug.
from gocd.
Related Issues (20)
- Ability to have empty material HOT 3
- Command Execution Issue on Windows Agents in GOCD v23.3 HOT 2
- GoCD isn't parsing new config repo. No pipeliens are shown HOT 2
- Go-Agent on a different subnet HOT 1
- Unable to pick stage from Add Material menu in Chrome on MacOS Sonoma HOT 7
- pipeline artifact URL is incorrect HOT 2
- Release GoCD 23.5.0
- Unable to move pipeline group when using pipeline filter HOT 2
- Installing chromium on alpine3.18 gocd docker agent causes crash loop HOT 3
- Can't collect artifacts from a folder containing a "%" or ";" in its name HOT 4
- HTTP -> HTTPS redirect in loadBalancer leads to error code 422 when editing cruise-config.xml in gocd-server gui with and gocd-server error InvalidAuthenticityToken HOT 8
- Unable to trigger GoCD pipeline via API HOT 2
- API endpoint to check the status of the GoCD pipeline
- Notification plugin stage status events don't include accurate material information for fields such as git shallow-clone HOT 4
- how to build a docker image with private reigistry image ?
- JSON file generation failed while deploying the a pipeline HOT 8
- Unit go-agent.service could not be found.
- Error running garbage collection - the pack file might be corrupt: Unknown object type 0 HOT 9
- job console output Garbled code
- job console output garble HOT 1
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 gocd.