A tool that runs an arbitrary command on every GitHub project returned from a GitHub query.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github/PULL_REQUEST_TEMPLATE
bin
build
cmd/neighbor
docs
pkg
.gitignore
Gopkg.lock
Gopkg.toml
LICENSE
Makefile
README.md
sample.config.json

README.md

neighbor


A neighborhood watch tool for evaluating neighbors' test suite adequacy in the neighborhood, GitHub projects.

Requirements

  • Go
    1. mkdir $HOME/go

Getting Started

  1. Installing the project

    1. cd $HOME/go
    2. go get -u -v github.com/mccurdyc/neighbor
  2. Prepare neighbor for Execution

    make setup

    The setup make target will do the following:

    • Create a config.json file from the sample.config.json file
      • You still need to update the access token in the config file to use your personal access token.
      • The setup target will check to see if you have already copied the sample.config.json to config.json for execution. If you have, the setup will not overwrite the config.json file.
  3. Generate a Personal Access Token on GitHub neighbor uses token authentication for communicating and authenticating with GitHub. To read more about GitHub's token authentication, visit this site.

    You can create a personal access token and use it in place of a password when performing Git operations over HTTPS with Git on the command line or the API.

    Authentication is required to both increase the GitHub API limitations as well as access private content (e.g., repositories, gists, etc.).

    • Add the generated token to the configuration file (config.json).
      {
        "access_token": "yourAccessToken1234567890abcdefghijklmnopqrstuvwxyz",
        ...
      }
  4. Performing a neighborhood analysis with neighbor

    make run

    The run target will first build neighbor and then invoke neighbor pointed at the config.json file in the root of the project.

    neighbor will use the GitHub query specified in the config file to find projects on GitHub. neighbor will then clone and run the external command in each of the projects' directory, sequentially using the command specified in the config, external_command.

License