Git Product home page Git Product logo

dashboard's People

Contributors

atoomic avatar briandfoy avatar byterock avatar cromedome avatar davorg avatar dependabot[bot] avatar drclaw1394 avatar drhyde avatar ferki avatar geekruthie avatar github-actions[bot] avatar manwar avatar michal-josef-spacek avatar nigelhorne avatar oalders avatar pauloscustodio avatar perlancar avatar petdance avatar pmqs avatar shawnlaffan avatar soren avatar szabgab avatar teodesian avatar tobyink avatar toddr avatar voegelas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dashboard's Issues

Control which repos it shows which CI links for

I use Travis, Coveralls.io, and Codecov.io, but I don't use them for all projects.

Testing for the presence of a .travis.yml file in the repo is a simple way to check if the project uses Travis, but it might be prohibitively expensive to do that for hundreds of repos every cron run.

The others are trickier to check.

Future-proof the table ordering stuff

I've just fixed the mechanism that lets an author define a default order for the table on their page (see 14a4215). This had never worked (because it needed a column number and we were using names) and it had broken even more when I added another column without fixing the numbers in the JS config.

I'll be adding columns and maybe moving columns about in the future, so the current approach isn't scalable. We need to go back to allowing authors to specify their default sort column by name - and then have a hash to convert that to a number.

Maybe also think about storing the current sort order in a cookie.

Distributions, not modules

Strictly, this tracks distributions, not modules. Should change the output to mention, for example, App-Aphra, not App::Aphra.

Generating the docs directory

How and when do you generate the docs/ directory?
Do you do it manually on your computer and the commit and push?
Wouldn't it be better to create a GitHub Action that will re-generate the docs/ directory on every push and periodically once a day?

RT is no longer closing down

For modules which use RT as their tracker, a mouse-over the "RT" link shows the message

This module uses CPAN RT as its bugtracker. This service will be closed down on 2021-03-01.

But of course RT did not close down (thankfully). The second sentence should probably now be removed.

Sort releases by date

The default sort order for releases appears to be alphabetical. In my case this brings up an Acme module that I wrote a long time ago and don't really care about. What I do care about is my more recent uploads, so I'd like to see those first be default ideally. If not, I'd like to be able to have that column be sortable. I feel like it was before, but I can't sort by it on the currently deployed site.

Set base href for clones

Since you have a CNAME file and messing with that on my side would screw up pull requests, I need to figure out some way for links to resolve in my fork. My github pages address for this repo is briandfoy.github.io/dashboard/.

Haven't thought about how to do this yet. A simple fix might be to simply make the links to the authors a relative link.

Bugs column with RT bug?

Thanks for adding the Bugs column.
Is it now showing a different bug for RT and anything else?
Maybe there could be some indications where the explicit bugtracker information is RT (and a different one where there is no bugtracker)

Cache default branch data

Currently, we use the GitHub API (GraphQL) to query the default branch for each repo. And we do this on each rebuild of the data.

The GraphQL API is rate-limited. The documentation says:

The GraphQL API rate limit is 5,000 points per hour.

Note that 5,000 points per hour is not the same as 5,000 calls per hour: the GraphQL API and REST API use different rate limits.

We're currently tracking almost 700 repos and I'm finding that if I collect the data more than a couple of times an hour, I'm running into rate limitations.

The default branch for a repo will change very rarely. Pretty much never in most cases, I expect. So we can probably safely cache the data - requerying it once a day, perhaps - and avoid hitting the limits.

Show last release date and allow sorting based on the date

Maybe even allow the author to configure if they want the default sorting to be abc or date.

Maybe even have start-date, to display only distributions that were released after that date. (or have a clear separation between "old" and "new" releases.

In general I'd primarily only care about my recent distributions as I don't plan to invest energy in old ones, nut until there is a reason to upload a new version of them.

Add more classes

Some suggestions:

  • Dashboard::BadgeMaker โœ…
  • Dashboard::Author
  • Dashboard::Module
  • Dashboard::Exception::*

Simplify instructions to add yourself

I think the instruction could be greatly simplified and one might even be able to create a sign-up form that will prepare the json file for the commit and pull-request.
One does not need to fork and clone the repository as you can add a file on the web interface of GitHub. (GitHub will create a fork, but I don't need to do it myself)
There could even be an HTML form to fill out with the necessary information that would generate the json file and prepare it to be added via the web interface.

http => https for Github URLs

My page: https://cpandashboard.com/SZABGAB/ has insecure warning because many of my repo-links are old and point to http instead of https. I don't think I want to release a new version of these module just to fix this issue, but I wonder

  1. Should the dashboard replace the http://github.com links by https://github.com during processing?
  2. Should there be some indication on the page which are the distros with http link if any?

Maybe at the bottom of the page there could be a list of these modules for the author to consider fixing.

Missing distributions?

https://metacpan.org/author/TOBYINK says @tobyink has 299 distributions, ( https://cpan.rocks/ shows the same number )
https://cpandashboard.com/TOBYINK/ only has 246 entries

https://metacpan.org/author/SZABGAB has 31 according to MetaCPAN, but only 24 on https://cpandashboard.com/SZABGAB/

What is the source of these differences?

Further checking seems to indicate that the distros that don't indicated their repository in META.json are excluded.

IMHO it would be nice to list those as well and indicate they are missing the repos and maybe an explanation how to add the links.

Codecov.io support

I started using codecov.io instead of coveralls.io for a repos during a long period the coveralls.io website had issues with sorting/filtering files to see which had worst coverage. (They've fixed the issue now, but it persisted for months!)

It is still pretty valuable to have. Coveralls.io only checks each line is covered; codecov.io tracks branch conditions, so in foo() ? bar() : baz(), codecov.io will only be happy if both the bar and baz functions get called.

Example of codecov:
https://codecov.io/gh/tobyink/p5-type-tiny

Exposing processing errors

I just ran the dashboard locally and saw a number of processing errors. I see them in the GitHub Actions output as well.
I wonder if it would be a good idea to create a page called "errors" on the web site and show the most recent processing errors there.

Use MetaCPAN API

Can't we get the list of distributions belonging to a user from the MetaCPAN API?

master vs main

We're starting to see some new GitHub repos appear with a default branch of main instead of master. This is a problem as we're currently assuming the branch name master in some of the image links. So this needs some thinking about.

Three options that immediately spring to mind:

  • Accept that it will only work if you're interested in the main branch (this might be the quickest fix, but I want to do something cleverer in the medium term)
  • Ask authors to list any repos that don't use master as the default branch (but I really want to avoid authors having to list their modules if I can possibly avoid it)
  • Some kind of GitHub API magic that works out what the default branch is for any given repo

And then there's a wider question of whether authors want to see results for branches other than the default branch.

Move the Travis-CI setup instructions to a page

I think instead of having it in the README the instructions about Travis-CI (and GitHub Actions etc.) should be in a web page.
That page can then be linked from the Dashboard or from the menu of the site.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.