Code Monkey home page Code Monkey logo

ci-buildstats's Introduction

A little SVG widget to display build history charts and other badges for public repositories.

Build and Deploy

Build History

Table of contents

Build History Chart

The SVG widget currently works for public repositories built with:

AppVeyorTravisCICircleCIAzure PipelinesGitHub Actions

How it works

The base URL to the SVG widget is:

https://buildstats.info/{buildSystem}/chart/{account}/{project}[/{definitionId}]

Replace {buildSystem} with one of the supported build systems:

  • appveyor
  • travisci
  • circleci
  • azurepipelines
  • github

Replace {account} and {project} with your personal values.

For example https://buildstats.info/appveyor/chart/dustinmoris/ci-buildstats displays the build history chart for this particular project.

The complete markdown for the above chart is as following:

[![Build history](https://buildstats.info/appveyor/chart/dustinmoris/ci-buildstats)](https://ci.appveyor.com/project/dustinmoris/ci-buildstats/history)

The URL for an Azure Pipelines powered graph has an additional route argument for the definition ID which is an Azure Pipelines specific concept:

https://buildstats.info/azurepipelines/chart/MyAccount/MyProject/12

Configuration

Filtering for a specific branch

By default the widget will render a chart for builds from all branches.

You can select a specific branch by appending the branch parameter to the URL (optional):

https://buildstats.info/{buildSystem}/chart/{account}/{project}?branch={branch}

Changing the number of builds

You can specify the maximum build count by appending the buildCount parameter to the URL (optional):

https://buildstats.info/{buildSystem}/chart/{account}/{project}?buildCount={number}

Excluding builds from a pull request

Use the includeBuildsFromPullRequest parameter to include or exclude builds from a pull request (optional):

https://buildstats.info/{buildSystem}/chart/{account}/{project}?includeBuildsFromPullRequest={true/false}

Hiding the text

You can hide the build stats by appending the showStats parameter to the URL (optional):

https://buildstats.info/{buildSystem}/chart/{account}/{project}?showStats={true/false}

Full URL

The full URL to the SVG widget is:

https://buildstats.info/{buildSystem}/chart/{account}/{project}[?buildCount={buildCount}&branch={branch}&includeBuildsFromPullRequest={includeBuildsFromPullRequest}&showStats={true/false}]

NuGet Badges

The URL to the NuGet badge is:

https://buildstats.info/nuget/{packageName}

For example the badge and Markdown for the NUnit NuGet badge would be:

NuGet Badge

[![NuGet Badge](https://buildstats.info/nuget/nunit)](https://www.nuget.org/packages/NUnit/)

Including PreRelease packages

You can append the includePreReleases=true flag to include pre-release packages:

NuGet Badge

[![NuGet Badge](https://buildstats.info/nuget/NServiceBus.PostgreSQL?includePreReleases=true)](https://www.nuget.org/packages/NServiceBus.PostgreSQL/1.0.0-CI00021)

Setting a specific package version

By adding the packageVersion query parameter you can set a specific version:

NuGet Badge

[![NuGet Badge](https://buildstats.info/nuget/NServiceBus.PostgreSQL?includePreReleases=true)](https://www.nuget.org/packages/NServiceBus.PostgreSQL/1.0.0-CI00021)

Setting a fixed width

If you want to control the width of the version and/or downloads label then you can use the vWidth and dWidth query parameters. Both accept an integer value representing the width in pixels:

NuGet Badge

[![NuGet Badge](https://buildstats.info/nuget/Giraffe?vWidth=100&dWidth=100)](https://www.nuget.org/packages/Giraffe)

MyGet Badges

MyGet badges are supported for both the standard MyGet feed as well as MyGet Enterprise customers.

The URL to a MyGet badge from the official feed is:

https://buildstats.info/myget/{feedName}/{packageName}

For example the badge and Markdown for the FSharp.Core package in the .NET Core feed would be:

MyGet Badge

[![MyGet Badge](https://buildstats.info/myget/dotnet-core/NEventSocket)](https://www.myget.org/feed/dotnet-core/package/nuget/FSharp.Core)

The URL to a MyGet badge from an Enterprise feed is:

https://buildstats.info/myget/{subDomain}/{feedName}/{packageName}

For example the badge and Markdown for the Microsoft.Bot.Builder MyGet badge would be:

MyGet Badge

[![MyGet Badge](https://buildstats.info/myget/botbuilder/botbuilder-v4-dotnet-daily/Microsoft.Bot.Builder?includePreReleases=true)](https://botbuilder.myget.org/feed/botbuilder-v4-dotnet-daily/package/nuget/Microsoft.Bot.Builder)

Crates Badges

The URL to a Crates.io badge from the official feed is:

https://buildstats.info/crate/{crateName}

For example the badge and Markdown for the rand Crates.io badge would be:

Crate Badge

[![Crate Badge](https://buildstats.info/crate/rand)](https://crates.io/crates/rand)

Setting a specific package version

By adding the packageVersion query parameter you can set a specific version:

Crate Badge

[![Crate Badge](https://buildstats.info/crate/rand?packageVersion=0.7.0)](https://crates.io/crates/rand/0.7.0)

Additional settings

The includePreReleases, vWidth and dWidth query parameters work the same way as for NuGet badges (see above for more information).

Docker image

You can also self host the application by running CI-BuildStats from a Docker container.

Contributing

Feedback is welcome and pull requests get accepted.

Support

If you've got value from any of the content which I have created, but pull requests are not your thing, then I would also very much appreciate your support by buying me a coffee.

Buy Me A Coffee

ci-buildstats's People

Contributors

cleemullins avatar dustinmoris avatar fabioh avatar levithomason avatar martincostello avatar vilinski avatar

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.