google / triage-party Goto Github PK
View Code? Open in Web Editor NEW๐ Triage Party: massively multi-player GitHub triage ๐
License: Apache License 2.0
๐ Triage Party: massively multi-player GitHub triage ๐
License: Apache License 2.0
Currently, these repositories are likely to run into the GitHub 5k daily rate limit, due to a combination of:
TP currently respects the min/max refresh cache times during the bootstrapping sequence, which means that TP will end up duplicating search queries as they exceed the search cache expiry (~2 minutes).
This makes a slow situation even worse.
I've deployed an instance of triage-party to CloudRun without a persistent backend, and that worked fine.
Then, I deployed a Cloud SQL instance (postgres) and created a user and database. Then, based on minikube-deploy.sh example, I tried to deploy a new revision with CloudSQL by setting the environment variables PERSIST_BACKEND and PERSIST_PATH and that failed.
F0511 19:55:08.934229 1 main.go:94] unable to create persistence layer: new from cloudsql: USER:PASSWORD@tcp(PROJECT/us-central1/jx-teaparty)/tp: driver: bad connection
Advice/tips appreciated.
It seems to be a popular Kubernetes option.
If there is no initcache, the stale run is effectively a duplicated fresh run (+ a few seconds).
If the fresh run and stale run were based on the same timestamp, they would not duplicate as much work.
It leaks credentials.
Reported by @munnerz
let say we have two users
one is windows expert
the other one is docker-driver expert
and we play triage party, we should be able to choose triage by "kind/docker" or "kind/hyperv" , "kind/multinode"
that we can users can play based on their expertise rather than get random set of issues.
To make Kubernetes deployments easier.
This will improve performance for iterative experiments.
As seen with #4126 at https://skaffold-triage-party-eyodkz2nea-uc.a.run.app/s/daily
It seems like result.Time
is up to date, but the underlying GitHub data can be very far out of date.
With the most recent changes, the updater will keep polling github during idleDuration (5 minutes):
triage-party/pkg/updater/updater.go
Line 124 in 59880a4
So, a single request could spawn 60 loops to GitHub if minRefresh is set to 15 seconds.
Instead, we poll only as often as the popularity requires. Something like:
if resultAge > max(minRefresh, lastRequest) {
return true
}
After deploying triage-party, I faced an error for fetching 'moment-with-locales.mn.js' in web browser's dev console.
And I found no moment assets in the third_party
directory
Is 'moment-with-locales.min.js' really needed/used?
Starting up a kubernetes/kubernetes triage-party is too damned slow because of timeline fetches.
Thanks for sharing a great tool!
I would like to use triage-party against repositories on our internal GitHub Enterprise.
Fortunately, we can support this feature easily because go-github does support GitHub Enterprise via NewEnterpriseClient()
.
This allows for us to accurately flag on older issues which were recently made a p0.
In v1.2.0-beta.3, we skip the timeline/review data on the first run as an optimization.
What would be better is to use the data if it's available, but not to fetch it (or fetch in the background).
Allow for faster restarts in environments which do not allow for persistent local cache, such as Cloud Run.
Draft PR's should get a draft
tag that can be filtered out.
The logic is pretty basic right now:
triage-party/pkg/hubbub/similar.go
Line 83 in 083cec8
in miniukube's triage-party, I added a user to the reviwers in OWNERS file and I saw he had responded to an isssue and labeled too, but the triage party still was saying issues without comment, till I commented
example kubernetes/minikube#8460
This is to allow users to define leaderboards to incentivize positive behavior, such as:
We can get a higher hit-rate for similarity if we filter out a basic list of words which don't impact the nature of an issue or PR:
There are certain adjectives and prepositions that come to mind:
a
about
an
and
are
be
by
can
completely
does
extremely
for
has
have
how
in
is
maybe
of
on
or
should
some
something
still
than
the
then
to
use
very
via
when
why
with
However: we need to be careful not to skew things so badly that the min-similarity
index is no longer helpful.
At the moment, Triage Party only writes to the initcache at startup.
For larger repositories, it would be nice to have a periodic checkpoint to disk.
Some examples for Skaffold:
#4293
#4131
The tinyurl (https://tinyurl.com/skaffold-teaparty ) is broken for the scaffold example.
Somewhere down the line I broke kanban support for non-milestone based views. I assume this is due to the selector.
item_expiry
was replaced by *refresh*
org_expiry
should be similarly replaced by org_member_refresh
If an issue is added to the dashboard...
This should be both in the UI and the logs.
Triage Party still works in this case, but it is unable to track conversational state.
At the moment we regenerate the cache every build, which is slow.
Instead, we should insert local cache if available, and quickly bootstrap if not.
This issue has an obvious response from the maintainers: quantumlib/Cirq#2799
But triage party determines it to be in recv
state, as if I was the last one commenting.
Hi, I would like to manage multiple repos in a single triage-party instance. Fortunately, triage party already support it:
settings:
...
repos:
- https://github.com/org1/repo1
- https://github.com/org2/repo2
However, if I understood correctly, the current configuration scheme doesn't support repo dependent rules. For example, each repository has different SLOs.
Of course, we can prepare separate triage-party instances, But I would like to have only one triage-party site for efficiency (it would be easier for us to access one triage-party instance to perform triage for target multiple repos).
Perhaps, we can implement repo
filter that accepts regex ([!]regex
). Then user can define repo dependent rules like below:
p0-followup-overdue-repo1:
...
filters:
- repo: "org1/repo1"
- label: "priority/p0"
- tag: recv
- responded: +3d
p0-followup-overdue-repo2:
...
filters:
- repo: "org2/repo2"
- label: "priority/p0"
- tag: recv
- responded: +7d
Basically requesting a workaround for the org-permissions issue (referenced here: #105) - If I can't get the permission, I'd still like the ability to filter out repo maintainers from outside contributors.
It would be great if the triage-party can also be used with other systems like gitlab, to get an overview of multiple repos and systems to get a better cross platform overview.
I am aware, that this is not a small feature, but it would be an awesome improvement for bigger communities or companies, who need to use multiple services.
Would love to know your opinion about it. No hard feelings, if the request is just closed ;)
Example:
I0617 11:16:34.275803 75669 timeline.go:36] cache miss for kubernetes-minikube-5452-timeline newer than 2020-06-17 11:15:29.210782 -0700 PDT m=+12.177519167
I0617 11:16:35.043964 75669 timeline.go:36] cache miss for kubernetes-minikube-6873-timeline newer than 2020-06-17 11:15:29.210782 -0700 PDT m=+12.177519167
I0617 11:16:35.792263 75669 timeline.go:36] cache miss for kubernetes-minikube-4752-timeline newer than 2020-06-17 11:15:29.210782 -0700 PDT m=+12.177519167
I0617 11:16:36.529062 75669 timeline.go:36] cache miss for kubernetes-minikube-8214-timeline newer than 2020-06-17 11:15:29.210782 -0700 PDT m=+12.177519167
I0617 11:16:37.244689 75669 timeline.go:36] cache miss for kubernetes-minikube-4805-timeline newer than 2020-06-17 11:15:29.210782 -0700 PDT m=+12.177519167
I0617 11:16:38.068430 75669 timeline.go:36] cache miss for kubernetes-minikube-7131-timeline newer than 2020-06-17 11:15:29.210782 -0700 PDT m=+12.177519167
I0617 11:16:38.541926 75669 timeline.go:36] cache miss for kubernetes-minikube-5188-timeline newer than 2020-06-17 11:15:29.210782 -0700 PDT m=+12.177519167
Hi there,
Looking to try this out with the Mautic community, however I fell at the first hurdle.
Can you explain how to set up a token file or point me at the appropriate documentation which explains how to create it? I am very familiar with creating the tokens, but have not seen that used in this way before, and could not find anything online.
I don't think we are setting {{.TotalShown}} correctly any longer.
This will allow us to support arbitrarily sized repositories.
It's a better user experience than flat-out showing a blank page until we are ready.
Doing this will allow us to defer the fetch until absolutely necessary.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.