{"action":"created","issue":{"url":"https://api.github.com/repos/docker/docker/issues/14756","labels_url":"https://api.github.com/repos/docker/docker/issues/14756/labels{/name}","comments_url":"https://api.github.com/repos/docker/docker/issues/14756/comments","events_url":"https://api.github.com/repos/docker/docker/issues/14756/events","html_url":"https://github.com/docker/docker/issues/14756","id":96089174,"number":14756,"title":"Enable `golint` on the code base","user":{"login":"icecrime","id":1564054,"avatar_url":"https://avatars.githubusercontent.com/u/1564054?v=3","gravatar_id":"","url":"https://api.github.com/users/icecrime","html_url":"https://github.com/icecrime","followers_url":"https://api.github.com/users/icecrime/followers","following_url":"https://api.github.com/users/icecrime/following{/other_user}","gists_url":"https://api.github.com/users/icecrime/gists{/gist_id}","starred_url":"https://api.github.com/users/icecrime/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/icecrime/subscriptions","organizations_url":"https://api.github.com/users/icecrime/orgs","repos_url":"https://api.github.com/users/icecrime/repos","events_url":"https://api.github.com/users/icecrime/events{/privacy}","received_events_url":"https://api.github.com/users/icecrime/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/docker/labels/roadmap","name":"roadmap","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":20,"created_at":"2015-07-20T15:28:53Z","updated_at":"2015-07-21T06:02:03Z","closed_at":null,"body":"# Description\r\n\r\nWe want to enable [`golint`](https://github.com/golang/lint) on our codebase for several reasons:\r\n- We want to improve code quality\r\n- We need objective filters on quality to help us discriminate bad pull requests\r\n\r\n# How to\r\n\r\nFollowing is the list of all `github.com/docker/docker` subpackages. For each we need to:\r\n\r\n- Submit a PR cleaning all existing `golint` warnings. One thing to keep in mind is that `golint` will require that every exported symbol has a comment: favor making symbols private where possible _before_ documenting.\r\n- Enable `golint` on this package as part of the Jenkins CI jobs to make sure we don't diverge (something that individual contributors can do, but @jfrazelle who owns the testing infrastructure will help with that).\r\n\r\nWe also need to make it easy for contributors to easily give `golint` a local run before submitting the PR. We should probably have that script only cover a hardcoded list of packages that we can augment over time.\r\n\r\n# Packages:\r\n\r\n- [ ] api\r\n- [X] api/client (@brahmaroutu - #pending)\r\n- [X] api/server (@brahmaroutu - #pending)\r\n- [ ] api/types\r\n- [ ] builder\r\n- [ ] builder/command\r\n- [ ] builder/parser\r\n- [ ] builder/parser/dumper\r\n- [X] cliconfig (@MHBauer - #pending)\r\n- [ ] daemon\r\n- [X] daemon/events\r\n- [ ] daemon/execdriver\r\n- [ ] daemon/execdriver/execdrivers\r\n- [ ] daemon/execdriver/lxc\r\n- [ ] daemon/execdriver/native\r\n- [X] daemon/execdriver/native/template\r\n- [ ] daemon/execdriver/windows\r\n- [ ] daemon/graphdriver\r\n- [ ] daemon/graphdriver/aufs\r\n- [ ] daemon/graphdriver/btrfs\r\n- [ ] daemon/graphdriver/devmapper\r\n- [ ] daemon/graphdriver/graphtest\r\n- [ ] daemon/graphdriver/overlay\r\n- [ ] daemon/graphdriver/vfs\r\n- [ ] daemon/graphdriver/zfs\r\n- [ ] daemon/logger\r\n- [ ] daemon/logger/fluentd\r\n- [ ] daemon/logger/gelf\r\n- [ ] daemon/logger/journald\r\n- [ ] daemon/logger/jsonfilelog\r\n- [ ] daemon/logger/syslog\r\n- [ ] daemon/network\r\n- [X] docker (@sevki - #14764)\r\n- [ ] dockerinit\r\n- [ ] graph\r\n- [ ] graph/tags\r\n- [ ] image\r\n- [ ] integration-cli\r\n- [X] links (@runcom - #14773)\r\n- [X] opts (@sevki - #pending)\r\n- [X] pkg/archive (@coolljt0725 - #pending)\r\n- [X] pkg/broadcastwriter (@coolljt0725 - #pending)\r\n- [X] pkg/chrootarchive\r\n- [x] pkg/devicemapper\r\n- [X] pkg/directory\r\n- [X] pkg/fileutils\r\n- [X] pkg/graphdb (@coolljt0725 - #pending)\r\n- [X] pkg/homedir\r\n- [X] pkg/httputils (@coolljt0725 - #pending)\r\n- [X] pkg/ioutils (@coolljt0725 - #pending)\r\n- [X] pkg/jsonlog (@coolljt0725 - #pending)\r\n- [X] pkg/jsonmessage (@coolljt0725 - #pending)\r\n- [X] pkg/listenbuffer\r\n- [ ] pkg/mflag\r\n- [X] pkg/mflag/example\r\n- [ ] pkg/mount\r\n- [ ] pkg/namesgenerator\r\n- [ ] pkg/nat\r\n- [X] pkg/parsers (@vdemeester - #14759)\r\n- [X] pkg/parsers/filters (@vdemeester - #14759)\r\n- [X] pkg/parsers/kernel (@vdemeester - #14759)\r\n- [X] pkg/parsers/operatingsystem (@vdemeester - #14759)\r\n- [X] pkg/pidfile (@vdemeester - #14759)\r\n- [X] pkg/plugins (@vdemeester - #14759)\r\n- [X] pkg/pools (@vdemeester - #14759)\r\n- [X] pkg/progressreader (@vdemeester - #14759)\r\n- [X] pkg/promise\r\n- [X] pkg/proxy (@vdemeester - #14759)\r\n- [X] pkg/pubsub\r\n- [X] pkg/random\r\n- [X] pkg/reexec (@LK4D4 - #14762)\r\n- [X] pkg/signal (@vdemeester - #14759)\r\n- [X] pkg/sockets (@vdemeester - #14759)\r\n- [ ] pkg/stdcopy\r\n- [X] pkg/streamformatter (@vdemeester - #14759)\r\n- [X] pkg/stringid (@vdemeester - #14759)\r\n- [X] pkg/stringutils (@vdemeester - #14759)\r\n- [X] pkg/symlink\r\n- [ ] pkg/sysinfo\r\n- [ ] pkg/system\r\n- [X] pkg/systemd (@vdemeester - #14759)\r\n- [X] pkg/tailfile (@vdemeester - #14759)\r\n- [X] pkg/tarsum (@vdemeester - #14759)\r\n- [X] pkg/term (@vdemeester - #14759)\r\n- [ ] pkg/term/winconsole\r\n- [X] pkg/timeoutconn (@vdemeester - #14759)\r\n- [X] pkg/timeutils\r\n- [X] pkg/tlsconfig\r\n- [X] pkg/truncindex (@vdemeester - #14759)\r\n- [X] pkg/ulimit (@vdemeester - #14759)\r\n- [X] pkg/units (@vdemeester - #14759)\r\n- [X] pkg/urlutil\r\n- [X] pkg/useragent (@vdemeester - #14759)\r\n- [X] pkg/version\r\n- [ ] registry\r\n- [X] runconfig (@vdemeester - #14751)\r\n- [ ] trust\r\n- [ ] utils\r\n- [ ] volume\r\n- [ ] volume/drivers\r\n- [ ] volume/local"},"comment":{"url":"https://api.github.com/repos/docker/docker/issues/comments/123175524","html_url":"https://github.com/docker/docker/issues/14756#issuecomment-123175524","issue_url":"https://api.github.com/repos/docker/docker/issues/14756","id":123175524,"user":{"login":"jfrazelle","id":1445228,"avatar_url":"https://avatars.githubusercontent.com/u/1445228?v=3","gravatar_id":"","url":"https://api.github.com/users/jfrazelle","html_url":"https://github.com/jfrazelle","followers_url":"https://api.github.com/users/jfrazelle/followers","following_url":"https://api.github.com/users/jfrazelle/following{/other_user}","gists_url":"https://api.github.com/users/jfrazelle/gists{/gist_id}","starred_url":"https://api.github.com/users/jfrazelle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfrazelle/subscriptions","organizations_url":"https://api.github.com/users/jfrazelle/orgs","repos_url":"https://api.github.com/users/jfrazelle/repos","events_url":"https://api.github.com/users/jfrazelle/events{/privacy}","received_events_url":"https://api.github.com/users/jfrazelle/received_events","type":"User","site_admin":false},"created_at":"2015-07-21T06:02:03Z","updated_at":"2015-07-21T06:02:03Z","body":"> would golint integration-cli be a bad place to start?\n\nThat is going to be ALOT of work \n\n> On Jul 20, 2015, at 22:38, Sergio Botero <notifications@github.com> wrote:\n> \n> @icecrime I am new to the codebase, would golint integration-cli be a bad place to start?\n> \n> —\n> Reply to this email directly or view it on GitHub.\n> \n"}}