From 5bceef365679e5186dca2ebc5c9ea45971af134a Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Wed, 12 Feb 2020 23:20:58 +0000 Subject: [PATCH 1/4] Catch github actions badges with no branch --- src/main.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main.rs b/src/main.rs index 007d936..d869f15 100644 --- a/src/main.rs +++ b/src/main.rs @@ -32,6 +32,9 @@ enum CheckerError { #[fail(display = "travis build is unknown")] TravisBuildUnknown, + + #[fail(display = "github actions image with no branch")] + GithubActionNoBranch, } struct MaxHandles { @@ -141,6 +144,7 @@ fn get_url(url: String) -> BoxFuture<'static, (String, Result BoxFuture<'static, (String, Result Result<(), Error> { CheckerError::TravisBuildUnknown => { format!("[Unknown travis build] {}", url) } + CheckerError::GithubActionNoBranch => { + format!("[Github action image with no branch specified] {}", url) + } _ => { format!("{:?}", err) } From dfabc3b53e69347e52ef158c6eda6505a13966ee Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Wed, 12 Feb 2020 23:32:20 +0000 Subject: [PATCH 2/4] Fix all github actions without a branch --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index a2c35c5..d31978a 100644 --- a/README.md +++ b/README.md @@ -120,12 +120,12 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [kbknapp/docli](https://github.com/kbknapp/docli-rs) — A command line utility for managing DigitalOcean infrastructure [](https://travis-ci.org/kbknapp/docli-rs) * [limonite](https://crates.io/crates/limonite) — static blog/website generator [](https://travis-ci.org/qmx/limonite) * [MaidSafe](https://maidsafe.net) — A decentralized platform. -* [mdBook](https://crates.io/crates/mdbook) — A command line utility to create books from markdown files ![Build Status](https://github.com/rust-lang/mdBook/workflows/CI/badge.svg) +* [mdBook](https://crates.io/crates/mdbook) — A command line utility to create books from markdown files [![Build Status](https://github.com/rust-lang/mdBook/workflows/CI/badge.svg?branch=master)](https://github.com/rust-lang/mdBook/actions) * [nicohman/eidolon](https://github.com/nicohman/eidolon) — A steam and drm-free game registry and launcher for linux and macosx [](https://travis-ci.org/nicohman/eidolon) * [notty](https://github.com/withoutboats/notty) — A new kind of terminal * [Pijul](https://pijul.org) — A patch-based distributed version control system * [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign ![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master) -* [Rudr](https://github.com/oam-dev/rudr) — A Kubernetes implementation of the [Open Application Model](https://oam.dev/) specification ![](https://github.com/oam-dev/rudr/workflows/Rust/badge.svg) +* [Rudr](https://github.com/oam-dev/rudr) — A Kubernetes implementation of the [Open Application Model](https://oam.dev/) specification [![](https://github.com/oam-dev/rudr/workflows/Rust/badge.svg?branch=master)](https://github.com/oam-dev/rudr/actions) * [Sandstorm Collections App](https://github.com/sandstorm-io/collections-app) * [Servo](https://github.com/servo/servo) — A prototype web browser engine * [trust-dns](https://crates.io/crates/trust-dns) — A DNS-server [](https://travis-ci.org/bluejekyll/trust-dns) @@ -139,7 +139,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [indiscipline/zrtstr](https://github.com/indiscipline/zrtstr) — A command line utility for checking if stereo wav files are faux-stereo (i.e. have identical channels) and converting such files to mono. [](https://travis-ci.org/indiscipline/zrtstr) * [Polaris](https://github.com/agersant/polaris) — A music streaming application. [](https://travis-ci.org/agersant/polaris) -* [Spotify TUI](https://github.com/Rigellute/spotify-tui) — A Spotify client for the terminal written in Rust. [](https://github.com/Rigellute/spotify-tui/actions?workflow=Continuous+Integration) +* [Spotify TUI](https://github.com/Rigellute/spotify-tui) — A Spotify client for the terminal written in Rust. [](https://github.com/Rigellute/spotify-tui/actions?workflow=Continuous+Integration) ### Cryptocurrencies @@ -174,7 +174,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [indradb](https://crates.io/crates/indradb) — Rust based graph database [](https://travis-ci.org/indradb/indradb) * [noria](https://crates.io/crates/noria) — Dynamically changing, partially-stateful data-flow for web application backends [](https://travis-ci.org/mit-pdos/noria) -* [Lucid](https://github.com/lucid-kv/lucid) — High performance and distributed KV store accessible through a HTTP API. [![Build Status](https://github.com/lucid-kv/lucid/workflows/Lucid/badge.svg)](https://github.com/lucid-kv/lucid/actions?workflow=Lucid) +* [Lucid](https://github.com/lucid-kv/lucid) — High performance and distributed KV store accessible through a HTTP API. [![Build Status](https://github.com/lucid-kv/lucid/workflows/Lucid/badge.svg?branch=master)](https://github.com/lucid-kv/lucid/actions?workflow=Lucid) * [ParityDB](https://github.com/paritytech/paritydb) — Fast and reliable database, optimised for read operation * [PumpkinDB](https://github.com/PumpkinDB/PumpkinDB) — an event sourcing database engine [](https://travis-ci.org/PumpkinDB/PumpkinDB) * [seppo0010/rsedis](https://github.com/seppo0010/rsedis) — A Redis reimplementation in Rust [](https://travis-ci.org/seppo0010/rsedis) @@ -343,7 +343,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [arthrp/consoletimer](https://github.com/arthrp/consoleTimer) — Simple timer for your terminal. [](https://travis-ci.org/arthrp/consoleTimer) * [tversteeg/emplace](https://github.com/tversteeg/emplace) — Synchronize installed packages on multiple machines * [myfreeweb/freepass](https://github.com/myfreeweb/freepass) — The free password manager for power users. -* [raftario/licensor](https://github.com/raftario/licensor) — write licenses to stdout [![GitHub Actions](https://github.com/raftario/licensor/workflows/Build/badge.svg)](https://github.com/raftario/licensor/actions?workflowID=Build) +* [raftario/licensor](https://github.com/raftario/licensor) — write licenses to stdout [![GitHub Actions](https://github.com/raftario/licensor/workflows/Build/badge.svg?branch=master)](https://github.com/raftario/licensor/actions?workflowID=Build) * [arthrp/quick-skeleton](https://github.com/arthrp/quick-skeleton) — Project scaffolding tool, similar to Yeoman and Slush. [](https://travis-ci.org/arthrp/quick-skeleton) * [repoch](https://github.com/lucawen/repoch) — Convert epoch to datetime and datetime to epoch [](https://travis-ci.com/lucawen/repoch/) * [yaa110/rubigo](https://github.com/yaa110/rubigo) — Golang dependency tool and package manager, written in Rust [](https://travis-ci.org/yaa110/rubigo) @@ -394,10 +394,10 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [ptags](https://github.com/dalance/ptags) — A parallel universal-ctags wrapper for git repository [![Build Status](https://api.travis-ci.org/dalance/ptags.svg?branch=master)](https://travis-ci.org/dalance/ptags) * [Racer](https://github.com/racer-rust/racer) — code completion for Rust [](https://travis-ci.org/racer-rust/racer) * [rustfmt](https://github.com/rust-lang/rustfmt) — A Rust code formatter [](https://travis-ci.com/rust-lang/rustfmt) -* [Rustup](https://github.com/rust-lang/rustup) — the Rust toolchain installer +* [Rustup](https://github.com/rust-lang/rustup) — the Rust toolchain installer [](https://github.com/rust-lang/rustup/actions) * [Rust Language Server](https://github.com/rust-lang/rls) — A server that runs in the background, providing IDEs, editors, and other tools with information about Rust programs * [Rust Regex Playground](https://2fd.github.io/rust-regex-playground/#method=find®ex=%5Cw%2B&text=abc) — Web tool to evaluate rust regular expressions -* [Rust Search Extension](https://github.com/Folyd/rust-search-extension) — A handy browser extension to search crates and docs in address bar (omnibox). ![Build Status](https://github.com/folyd/rust-search-extension/workflows/build/badge.svg) +* [Rust Search Extension](https://github.com/Folyd/rust-search-extension) — A handy browser extension to search crates and docs in address bar (omnibox). [![Build Status](https://github.com/folyd/rust-search-extension/workflows/build/badge.svg?branch=master)](https://github.com/Folyd/rust-search-extension/actions) * [artifact](https://github.com/vitiral/artifact) — the design doc tool made for developers [![Build Status](https://api.travis-ci.org/vitiral/artifact.svg?branch=master)](https://travis-ci.org/vitiral/artifact) * [semantic-rs](https://github.com/semantic-rs/semantic-rs) — automatic crate publishing [](https://travis-ci.org/semantic-rs/semantic-rs) * [fw](https://github.com/brocode/fw) — workspace productivity booster [](https://travis-ci.org/brocode/fw) @@ -409,7 +409,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [Cargo](https://crates.io/) — the Rust package manager * [cargo-benchcmp](https://crates.io/crates/cargo-benchcmp) — A utility to compare Rust micro-benchmarks [](https://travis-ci.org/BurntSushi/cargo-benchcmp) * [cargo-bitbake](https://crates.io/crates/cargo-bitbake) — A cargo extension that can generate BitBake recipes utilizing the classes from meta-rust [](https://travis-ci.org/cardoe/cargo-bitbake) - * [cargo-cache](https://crates.io/crates/cargo-cache) — inspect/manage/clean your cargo cache (`~/.cargo/`/`${CARGO_HOME}`), print sizes etc ![Build Status](https://github.com/matthiaskrgr/cargo-cache/workflows/ci/badge.svg) + * [cargo-cache](https://crates.io/crates/cargo-cache) — inspect/manage/clean your cargo cache (`~/.cargo/`/`${CARGO_HOME}`), print sizes etc [![Build Status](https://github.com/matthiaskrgr/cargo-cache/workflows/ci/badge.svg?branch=master)](https://github.com/matthiaskrgr/cargo-cache/actions) * [cargo-check](https://crates.io/crates/cargo-check) — A wrapper around `cargo rustc -- -Zno-trans` which can be helpful for running a faster compile if you only need correctness checks [](https://travis-ci.org/rsolomo/cargo-check) * [cargo-count](https://crates.io/crates/cargo-count) — lists source code counts and details about cargo projects, including unsafe statistics [](https://travis-ci.org/kbknapp/cargo-count) * [cargo-deb](https://crates.io/crates/cargo-deb) — Generates binary Debian packages [](https://travis-ci.org/mmstick/cargo-deb) @@ -750,7 +750,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [FGRibreau/spinners](https://github.com/FGRibreau/spinners) [[spinners](https://crates.io/crates/spinners)] — 60+ elegant terminal spinners * Prompt * [hashmismatch/terminal_cli.rs](https://github.com/hashmismatch/terminal_cli.rs) [[terminal_cli](https://crates.io/crates/terminal_cli)] — build an interactive command prompt [](https://travis-ci.org/hashmismatch/terminal_cli.rs) - * [starship/starship](https://starship.rs/) [[starship](https://crates.io/crates/starship)] — A minimal, blazing fast, and extremely customizable prompt for any shell [![Build status](https://github.com/starship/starship/workflows/Main%20workflow/badge.svg)](https://github.com/starship/starship/actions) + * [starship/starship](https://starship.rs/) [[starship](https://crates.io/crates/starship)] — A minimal, blazing fast, and extremely customizable prompt for any shell [![Build status](https://github.com/starship/starship/workflows/Main%20workflow/badge.svg?branch=master)](https://github.com/starship/starship/actions) * Style * [ogham/rust-ansi-term](https://github.com/ogham/rust-ansi-term) [[ansi_term](https://crates.io/crates/ansi_term)] — control colours and formatting on ANSI terminals [](https://travis-ci.org/ogham/rust-ansi-term) * [LukasKalbertodt/term-painter](https://github.com/LukasKalbertodt/term-painter) [[term-painter](https://crates.io/crates/term-painter)] — cross-platform styled terminal output [](https://travis-ci.org/LukasKalbertodt/term-painter) @@ -1354,7 +1354,7 @@ See also [Are we game yet?](https://arewegameyet.com) * [andylokandy/simsearch-rs](https://github.com/andylokandy/simsearch-rs) [[simsearch](https://crates.io/crates/simsearch)] — A simple and lightweight fuzzy search engine that works in memory, searching for similar strings * [BurntSushi/fst](https://github.com/BurntSushi/fst) [[fst](https://crates.io/crates/fst)] — [](https://travis-ci.org/BurntSushi/fst) -* [meilisearch/MeiliSearch](https://github.com/meilisearch/MeiliSearch) — Ultra relevant, instant and typo-tolerant full-text search API. [![Build Status](https://github.com/meilisearch/MeiliSearch/workflows/Cargo%20test/badge.svg)](https://github.com/meilisearch/MeiliSearch/actions) +* [meilisearch/MeiliSearch](https://github.com/meilisearch/MeiliSearch) — Ultra relevant, instant and typo-tolerant full-text search API. [![Build Status](https://github.com/meilisearch/MeiliSearch/workflows/Cargo%20test/badge.svg?branch=master)](https://github.com/meilisearch/MeiliSearch/actions) * [minio/minsql](https://github.com/minio/minsql) — High-performance log search engine. [](https://travis-ci.org/minio/minsql) * [CurrySoftware/perlin](https://github.com/CurrySoftware/perlin) [[perlin](https://crates.io/crates/perlin)] * [tantivy-search/tantivy](https://github.com/tantivy-search/tantivy) [[tantivy](https://crates.io/crates/tantivy)] — [](https://travis-ci.org/tantivy-search/tantivy) @@ -1381,7 +1381,7 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [yew](https://crates.io/crates/yew) — Rust framework for making client web apps * HTTP Client * [alexcrichton/curl-rust](https://github.com/alexcrichton/curl-rust) — [libcurl](https://curl.haxx.se/libcurl/) bindings [](https://travis-ci.org/alexcrichton/curl-rust) - * [graphql-client](https://github.com/graphql-rust/graphql-client) —Typed, correct GraphQL requests and responses in Rus. [![Github actions Status](https://github.com/graphql-rust/graphql-client/workflows/CI/badge.svg)](https://github.com/graphql-rust/graphql-client/actions) + * [graphql-client](https://github.com/graphql-rust/graphql-client) — Typed, correct GraphQL requests and responses in Rust. [![Github actions Status](https://github.com/graphql-rust/graphql-client/workflows/CI/badge.svg?branch=master)](https://github.com/graphql-rust/graphql-client/actions) * [hyperium/hyper](https://github.com/hyperium/hyper) — an HTTP implementation [](https://travis-ci.org/hyperium/hyper) * [seanmonstar/reqwest](https://github.com/seanmonstar/reqwest) — an ergonomic HTTP Client for Rust. [](https://travis-ci.org/seanmonstar/reqwest) * [DoumanAsh/yukikaze](https://gitlab.com/Douman/yukikaze) — Beautiful and elegant Yukikaze is little HTTP client library based on hyper. [](https://gitlab.com/Douman/yukikaze) @@ -1412,7 +1412,7 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [snapview/tungstenite-rs](https://github.com/snapview/tungstenite-rs) — Lightweight stream-based WebSocket implementation for Rust. * [vi/websocat](https://github.com/vi/websocat) — CLI for interacting with WebSockets, with functionality of Netcat, Curl and Socat. [](https://travis-ci.org/vi/websocat) * [vityafx/urlshortener-rs](https://github.com/vityafx/urlshortener-rs) [[urlshortener](https://crates.io/crates/urlshortener)] — A very simple urlshortener library for Rust. [](https://travis-ci.org/vityafx/urlshortener-rs) - * [bitwyre/websocket_core](https://github.com/bitwyre/websocket_core) — Websocket generic server library for periodic message broadcast. [](https://github.com/bitwyre/websocket_core/actions) + * [bitwyre/websocket_core](https://github.com/bitwyre/websocket_core) — Websocket generic server library for periodic message broadcast. [](https://github.com/bitwyre/websocket_core/actions) * Miscellaneous * [cargonauts](https://github.com/cargonauts-rs/cargonauts) — A web framework intended for building maintainable, well-factored web apps. * [pyros2097/rust-embed](https://github.com/pyros2097/rust-embed) — A macro to embed static assets into the rust binary From 0a527ff6e337201d74cc29daa28526bf34576e2d Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Wed, 12 Feb 2020 23:38:26 +0000 Subject: [PATCH 3/4] Catch no-branch cases for Travis --- src/main.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index d869f15..64e52d8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -33,6 +33,9 @@ enum CheckerError { #[fail(display = "travis build is unknown")] TravisBuildUnknown, + #[fail(display = "travis build image with no branch")] + TravisBuildNoBranch, + #[fail(display = "github actions image with no branch")] GithubActionNoBranch, } @@ -143,16 +146,21 @@ fn get_url(url: String) -> BoxFuture<'static, (String, Result Result<(), Error> { CheckerError::TravisBuildUnknown => { format!("[Unknown travis build] {}", url) } + CheckerError::TravisBuildNoBranch => { + format!("[Travis build image with no branch specified] {}", url) + } CheckerError::GithubActionNoBranch => { format!("[Github action image with no branch specified] {}", url) } From 9ec656fcd0de36d82581e597ddd06f1da85f8858 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Wed, 12 Feb 2020 23:43:11 +0000 Subject: [PATCH 4/4] Fix all the missing branches for travis --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d31978a..00c91c0 100644 --- a/README.md +++ b/README.md @@ -376,7 +376,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [thecoshman/http](https://github.com/thecoshman/http) — Host These Things Please — A basic http server for hosting a folder fast and simply [](https://travis-ci.org/thecoshman/http) * [svenstaro/miniserve](https://github.com/svenstaro/miniserve) — A small, self-contained cross-platform CLI tool that allows you to just grab the binary and serve some file(s) via HTTP [](https://travis-ci.org/svenstaro/miniserve) * [TheWaWaR/simple-http-server](https://github.com/TheWaWaR/simple-http-server) — simple static http server -* [wyhaya/see](https://github.com/wyhaya/see) — Static HTTP file server [![Build Status](https://api.travis-ci.org/wyhaya/see.svg)](https://travis-ci.org/wyhaya/see) +* [wyhaya/see](https://github.com/wyhaya/see) — Static HTTP file server [![Build Status](https://api.travis-ci.org/wyhaya/see.svg?branch=master)](https://travis-ci.org/wyhaya/see) ## Development tools @@ -909,8 +909,8 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * Sqlite [[sqlite](https://crates.io/keywords/sqlite)] * [jgallagher/rusqlite](https://github.com/jgallagher/rusqlite) — [Sqlite3](https://www.sqlite.org/index.html) bindings [](https://travis-ci.org/jgallagher/rusqlite) * ORM [[orm](https://crates.io/keywords/orm)] - * [diesel-rs/diesel](https://github.com/diesel-rs/diesel) — an ORM and Query builder for Rust [![Build Status](https://api.travis-ci.org/diesel-rs/diesel.svg)](https://travis-ci.org/diesel-rs/diesel) - * [ivanceras/rustorm](https://github.com/ivanceras/rustorm) — an ORM for Rust [![Build Status](https://api.travis-ci.org/ivanceras/rustorm.svg)](https://travis-ci.org/ivanceras/rustorm) + * [diesel-rs/diesel](https://github.com/diesel-rs/diesel) — an ORM and Query builder for Rust [![Build Status](https://api.travis-ci.org/diesel-rs/diesel.svg?branch=master)](https://travis-ci.org/diesel-rs/diesel) + * [ivanceras/rustorm](https://github.com/ivanceras/rustorm) — an ORM for Rust [![Build Status](https://api.travis-ci.org/ivanceras/rustorm.svg?branch=master)](https://travis-ci.org/ivanceras/rustorm) ### Data processing @@ -1375,9 +1375,9 @@ See also [Are we game yet?](https://arewegameyet.com) See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework comparison](https://github.com/flosse/rust-web-framework-comparison). * Client-side / WASM - * [cargo-web](https://crates.io/crates/cargo-web) — A Cargo subcommand for the client-side Web [![Build Status](https://api.travis-ci.org/koute/cargo-web.svg)](https://travis-ci.org/koute/cargo-web) + * [cargo-web](https://crates.io/crates/cargo-web) — A Cargo subcommand for the client-side Web [![Build Status](https://api.travis-ci.org/koute/cargo-web.svg?branch=master)](https://travis-ci.org/koute/cargo-web) * [seed](https://seed-rs.org/) — A Rust framework for creating web apps - * [stdweb](https://crates.io/crates/stdweb) — A standard library for the client-side Web [![Build Status](https://api.travis-ci.org/koute/stdweb.svg)](https://travis-ci.org/koute/stdweb) + * [stdweb](https://crates.io/crates/stdweb) — A standard library for the client-side Web [![Build Status](https://api.travis-ci.org/koute/stdweb.svg?branch=master)](https://travis-ci.org/koute/stdweb) * [yew](https://crates.io/crates/yew) — Rust framework for making client web apps * HTTP Client * [alexcrichton/curl-rust](https://github.com/alexcrichton/curl-rust) — [libcurl](https://curl.haxx.se/libcurl/) bindings [](https://travis-ci.org/alexcrichton/curl-rust)