Comments (6)
Why are we using canary
builds at all? Not only are mutable tags a widely recognized Docker anti-pattern, they're a disaster from a bug reporting standpoint.
Unfortunately, in practice, the e2e tests aren't 100% reliable and so some perfectly good component changes (immutable tags) fail to get into the master version of the workflow-dev chart in a timely manner.
Why don't we put the effort into fixing this?
from charts.
my $0.2 - we should put effort into speeding and determinizing (yes, I made that word up) our e2e tests, and remove canary
. Right now, it just seems like these tags are a band-aid on this larger problem of e2e testing...
Real example: we don't go build
our CLI binaries and upload them to deis-canary
on Bintray before we run go test
.
from charts.
I vote option 3 but keeping the workflow-dev name - Stabalizing the development workflow at this point is important
For controller (as an example) locally I only use the immutable tag to update my own registry when I'm developing so that I know what branch I was working against anyway.
from charts.
My 2 cents:
I like the current model, because it is a persistent reminder that our E2E tests are currently non-deterministic. Recent work on our E2E implementation has improved runtimes, so I think it's reasonable to expect the merger to investigate failed post-merge E2E test failures (retry, take notes, etc), and to use that investigation towards a more deterministic E2E paradigm.
I don't think 100% E2E tests are realistic, but I dislike the idea of building rather complicated processes to account for mysterious E2E failure because however clever we are in working around such mysteries, we will end up in the situation where mystery is institutionalized: "E2E tests are flaky and we don't trust them and that is just that." Now is the time to at least aim for better than that.
from charts.
I'm happy with option 1 and fixing up CI to deploy git SHAs in a timely manner through enhancements to the test suite. If we can make the tests 95% reliable then I'd be completely happy with a few hiccups here and there. That's just the nature of end-to-end test suites, unfortunately. Network latency, services going down, etc. All can eventually be fixed.
from charts.
Thank you for the feedback. It sounds like the consensus is to keep our current process of promoting immutable tags in tact, maintaining focus on e2e determinism.
Many have questioned the process of pushing mutable/canary
tags of components along with immutable, therefore deis/workflow-e2e#152 was created to track the proposal to remove this process and let that particular conversation hash out there.
from charts.
Related Issues (20)
- snake_case or camelCase-- we should pick one and stick to it HOT 2
- Support option for enabling PROXY protocol if on AWS HOT 1
- We're only 1/2 way transitioned to deployments? HOT 6
- Convert Monitor stack to use deployments
- Convert Logging stack to use deployments
- [Helm v2] add an option for GCS region in global values.yaml HOT 3
- [meta] Workflow Charts for Kubernetes Helm HOT 4
- [meta] Charts Infrastructure HOT 17
- [Helm v2] update controller chart with `REGISTRATION_MODE` HOT 3
- [Helm v2] update Fluentd chart with optional`syslog_hosts` env vars HOT 6
- [Helm v2] update Fluentd chart with `GRAFANA_USER and GRAFANA_PASSWD` env vars HOT 1
- [Helm v2] update InfluxDB chart with an option to not expose the Influx UI and API
- [Helm v2] update slugbuilder chart with an optional CPU and memory limits set HOT 1
- [Helm v2] generate router dhparam secret on each new install HOT 5
- Tweak the new_workflow_charts.sh script
- [Question] Using this repo with the Helm v2 client HOT 2
- [Helm v2] option to store router annotations HOT 3
- [Helm v2] option to disable builder HOT 2
- [Helm v2] option to disable in cluster registry/registry proxy
- deis-router service hangs when deployed by stackpoint.io HOT 10
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 charts.