Giter VIP home page Giter VIP logo

release-party-br's People

Contributors

matthewkmayer avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

kellyp

release-party-br's Issues

Handle api url for user

Right now we need to specify something like --org_url "https://api.github.com/orgs/MY_ORG_HERE/repos" when we should be able to switch to --org-name MY_ORG_HERE and create the URL ourselves

Add tests

No tests and this should have tests.

Add CI

Make this run on TravisCI for Linux and OSX, Appveyor for Windows.

Better error handling for malformed org arguments

A wild bug report:

RP_GITHUBTOKEN=ghtoken release-party-br --org "https://api.github.com/orgs/ORG-HERE/repos"
thread 'main' panicked at 'expected repos: "Couldn\'t deserialize repos from github: invalid type: map, expected a sequence at line 1 column 1"', src/libcore/result.rs:860:4
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Proposal: check if the org argument has http or api.github.com in it and gracefully exit with something like "please supply just the org name."

Parallelize requests

Right now the list of repositories to check is visited sequentially. We could speed things up considerably by parallelizing it. Rayon may be a good fit. Out of the box it will use one thread per CPU core and we could use more.

Publish binaries for tagged releases

Let's publish binaries for OSX and Linux on tagged releases.

Right now we require users to have Rust installed. Let's ditch that requirement.

Github token not super visible it's needed

The Github personal access token is an integral part of release-party but it's not documented in the CLI args.

Should it be a CLI arg instead of an env var?

How about putting information in the CLI description so it's displayed when run with --help?

Update deps

cargo outdated shows a few outdated deps, upgrade those.

Add rustfmt

Make sure code conforms to styling guides.

Add --yolo behavior

Actually reviewing the release to prod PRs too much work? Use release-party-br --yolo to find existing PRs from master to release and merge them with a PR comment of LEEROY JENKINS.

Incorrect GH token error not clear

It's not clear why running release-party fails if a token is given with insufficient permissions or it's just wrong:

RP_GITHUBTOKEN=foo cargo run -- --org a-real-org

thread 'main' panicked at 'expected repos:
 "Couldn\'t deserialize repos from github: invalid type: map, expected a sequence at 
line 1 column 1"', src/libcore/result.rs:906:4
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Desired behavior would be to report the GH response back to the user. If they return a 401, let the user know that and suggest they double check the token.

Handle paging from github

Right now we fetch the top 100 repos and hope that's enough to get all repos for an org. There are some notes in the source on how to get the next page of repos. This will be required when we need to look at more repos than we can get in a single page. The limit is 100 repos per page.

The github api docs has more details on pagination.

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.