Giter VIP home page Giter VIP logo

Comments (13)

niemeyer avatar niemeyer commented on August 27, 2024

Neat, thanks!

from gopkg.

spf13 avatar spf13 commented on August 27, 2024

This is a great idea @nathany . Looking forward to it.

from gopkg.

GeertJohan avatar GeertJohan commented on August 27, 2024

Great idea indeed!

from gopkg.

nathany avatar nathany commented on August 27, 2024

Just so you know, I probably won't get to this until September. Other priorities right now.

from gopkg.

nathany avatar nathany commented on August 27, 2024

For now, this is focused on having a badge. We can follow up with providing information on how to get the badge.

Going through a handler that retrieves the highest ref from GitHub and then redirects to shields.io for the SVG may be expensive if it needs to be done on every request for the badge.

  • Caching the highest version would complicate deployment (unless it's just in memory).
  • Invalidating the cache would require a GitHub webhook which complicates things for users as well (unless it's just time based, which is less precise).

from gopkg.

GeertJohan avatar GeertJohan commented on August 27, 2024

Caching the highest version would complicate deployment (unless it's just in memory).

Can be done in-memory with a simple map[pkg]version (both strings)..
Update when 10s old, remove from cache when 1d old ?

Letting users connect a webhook before the badge will work isn't too userfriendly, but do-able... Then it's not required to get a list of all the branches from the github repo anymore..
The downside of updating based on webhook calls is ofcourse that you'd need to sync this information between the deployments.. @niemeyer was it loadbalanced or failover? In th second case it could still work fairly easy.

from gopkg.

nathany avatar nathany commented on August 27, 2024

Something like that should work fairly well. I can start without any sort of caching and see how it goes. Still figuring out the code base though #26.

Right now it's possible to use gopkg.in with a repo that has the proper tags even if they aren't familiar with gopkg.in. To keep that ability, webhooks should be optional at best... if supported at all.

from gopkg.

eapache avatar eapache commented on August 27, 2024

Any update on this? I'd really like to put a badge on some of my repos :)

from gopkg.

nathany avatar nathany commented on August 27, 2024

Sorry Evan. I haven't looked at this at all in the past 6 months. :-(

from gopkg.

nathany avatar nathany commented on August 27, 2024

As a work around, you can use Shields.io to create a custom badge, but you will have to update the version # manually with each release.

http://shields.io/

from gopkg.

montanaflynn avatar montanaflynn commented on August 27, 2024

If we expose an endpoint that returns a list of all[1] or even the latest versions based on username/repo I could add a badge to http://shields.io. I'll look into the code and see if I can add it myself. A good thing about this approach is that shields.io itself handles the caching.

[1] This would also close #12

from gopkg.

niemeyer avatar niemeyer commented on August 27, 2024

I'd prefer to have the badge being served by gopkg.in itself because that's both easy and much more convenient, but I'm not against people using something else if they wish. Caching should be taken into account either way, though. We can't assume that people would not use the API if we provide it.

from gopkg.

nathany avatar nathany commented on August 27, 2024

Though gopkg.in can still be applicable when using the vendor support that Go 1.6 is helping enable, I personally don't see myself using gopkg.in in the future (eg. https://github.com/go-fsnotify/fsnotify/issues/108). That is to say, I'll leave this idea open, but I have no plans to work on it. So long and thanks for the fish.

from gopkg.

Related Issues (20)

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.