{"id":25293900,"url":"https://github.com/pgimalac/golangci-lint-all","last_synced_at":"2025-04-06T19:55:08.864Z","repository":{"id":190875525,"uuid":"683511370","full_name":"pgimalac/golangci-lint-all","owner":"pgimalac","description":"Wrapper script around golangci-lint to run on multiple platforms in parallel","archived":false,"fork":false,"pushed_at":"2023-08-26T20:41:16.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T01:56:07.627Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pgimalac.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-26T19:57:36.000Z","updated_at":"2023-08-26T19:59:04.000Z","dependencies_parsed_at":"2023-08-26T21:08:27.549Z","dependency_job_id":null,"html_url":"https://github.com/pgimalac/golangci-lint-all","commit_stats":null,"previous_names":["pgimalac/golangci-lint-all"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgimalac%2Fgolangci-lint-all","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgimalac%2Fgolangci-lint-all/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgimalac%2Fgolangci-lint-all/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgimalac%2Fgolangci-lint-all/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgimalac","download_url":"https://codeload.github.com/pgimalac/golangci-lint-all/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247543602,"owners_count":20955865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-13T01:56:10.723Z","updated_at":"2025-04-06T19:55:08.842Z","avatar_url":"https://github.com/pgimalac.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# golangci-lint-all\nWrapper script around `golangci-lint` to run on multiple platforms in parallel and have a unified output.\n\nThe script relies on the fact that each lint takes a single line and is always the same when reported on different platforms (which allows simply filtering duplicate lines to avoid duplicate warnings).\n\nThe wrapper can be used directly in an IDE since the output will be the same as `golangci-lint`.\nFor example on VSCode it can be set as an `Alternate Tools` in the `Go` extension.\n\nThe time it takes to run is basically as long as the time of the time on the longest of each platform.\n\n# How to use\n## Arguments\nArguments provided to the script are transfered as is to `golangci-lint`.\n\nIf not argument is provided, the default argument is just `run`.\n\nSome arguments are added by the script when not provided by the user:\n- `out-format` will be `colored-line-number`. Other meaningful values can be `line-number`, `github-actions` or `tab`, as they all print each lint on a single line, otherwise the final output would not be clear.\n- `print-issued-lines` will be false, similarly so that each lint takes a single line and the final output is unified.\n- `allow-parallel-runners` to enable running several instances of `golangci-lint` in parallel.\n\n## Platforms\nThe list of platforms to run on can be provided using the `PLATFORMS` environment variable.\n\nIt should be a space-separated list of platforms, where each platform is an operating system and\nan architecture, separated by a slash.\n\nThe possible platforms are the ones supported by Go, which can be seen using the command\n`go tool dist list`.\n\nIf the `PLATFORMS` variable isn't defined or is empty, the following platforms will be used by default:\n- `linux/amd64`\n- `linux/arm64`\n- `darwin/amd64`\n- `darwin/arm64`\n- `windows/amd64`\n- `windows/386`\n\n## Example\n```sh\nPLATFORMS=\"linux/amd64 linux/arm64 linux/386\" golangci-lint-all run -c .golangci.yml --out-format=tab\n```\n\n## Caveats\nIn case of error from `golangci-lint` (eg. parsing / compiling) the output might not be clear.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgimalac%2Fgolangci-lint-all","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpgimalac%2Fgolangci-lint-all","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgimalac%2Fgolangci-lint-all/lists"}