Coder Social home page Coder Social logo

dx's Introduction

DX

Go Report Card golangci-lint Check PR can be merged Set Label Build and test Go semantic-release Downloads

Installation via Homebrew

To install dx using homebrew, run the following:

brew tap plumming/homebrew-tap
brew install dx

Basic Usage

View a list of Open PRs

dx get prs

Configure the list of repos to watch

dx edit config

Add more entries under the repos: block e.g.

repos:
- org/repo1
- org/repo2

Exclude PRs based on labels

dx edit config
hiddenLabels:
- wip
- do not merge

Exclude PRs older than X days

dx edit config
maxAgeOfPRs: 180

or for all PRs

maxAgeOfPRs: -1

Rebase the local repository

This will rebase the local repository against the remote called 'upstream'.

dx rebase

Commands

dx's People

Contributors

cagiti avatar dependabot-preview[bot] avatar dependabot[bot] avatar garethjevans avatar macox avatar phil9909 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dx's Issues

Add the ability to view security advisories for all configured repos

As an initial query something like:

{
	search(type:REPOSITORY, query: "repo:plumming/dx repo:jenkins-x/go-scm", first: 100) {
      nodes {
      ... on Repository {
        nameWithOwner
        vulnerabilityAlerts(first: 10) {
          totalCount
          nodes {
            securityAdvisory {
              ghsaId
              severity
              summary
            }
            state
            createdAt
            dependabotUpdate {
              pullRequest {
                number
              }
            }
          }
        }
      }
    }
  }
}

would do the job, filtering on all those issues that are state != "FIXED", optionally showing those advisories where a dependabot PR exists that can fix it.

Add support for other scm providers

It would be good to support gitlab.com and internal installs of gitlab, if we could do this, what commands could we support? Should we only support providers that provide a graphql endpoint to reduce traffic?

Config

How would we restructure the configuration to support different SCM types?

repositories:
- name: github.com
  kind: github
  repos:
  - plumming/dx
- name: github.myenterprise.com
  kind: github
  repos:
  - xxx/something
- name: gitlab.com
  kind: gitlab
  repos:
  - another/repo

dx get prs

GitLab refers to them as MRs, so adding that as an alias would make sense. I can't find a graphql query to do this in a single shot, may have to perform a request per repository. The following query may be enough to extract enough data for PRs.

{
  project(fullPath: "org/repo") {
    mergeRequests(first:50, state:opened) {
      nodes {
        iid
        title
        labels {
          nodes {
            title
          }
        }
        mergeable
        conflicts
        createdAt
        author {
          name
        }
        approvalsRequired
        approvalsLeft
      }
    }
  }
}

Become verified apple developer

Current installation process of downloading the binary and adding to path doesn't work out of the box for MacOS Catalina. Stricter rules mean that trying to run chilly from a fresh download prompts the following error:

"chilly" cannot be opened because the developer cannot be verified

So one has to control + click -> open the file in finder, approve running it, in order to execute the binary (or mess with security settings to allow all unknown developer apps to be opened).

Title bar on `get results`

I don't know what the * ? at the end of each row means. Worth highlighting with titles (which can be flagged/configured off)

Favour cobra RunE over Run

❯ grep -R "Run: func" *
cmd/dx/dx.go:	Run: func(cmd *cobra.Command, args []string) {
cmd/dx/dx.go:	Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/editcmd/edit_config.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/editcmd/edit.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/upgradecmd/upgrade_cli.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/upgradecmd/upgrade.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/rebasecmd/rebase.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/deletecmd/delete.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/deletecmd/delete_repos.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/importcmd/import.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/importcmd/import_context.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/getcmd/get_repos.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/getcmd/get_prs.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/getcmd/get_issues.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/getcmd/get.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/namespacecmd/namespace.go:		Run: func(cmd *cobra.Command, args []string) {
pkg/cmd/contextcmd/context.go:		Run: func(cmd *cobra.Command, args []string) {

Change name to dx

change all references of chilly to dxin:

  • go files
  • github actions
  • brew

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.