Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kynrai/tainted
Tool to determine which Go packages need to be rebuilt in a monorepo
https://github.com/kynrai/tainted
build-automation build-tool diff go golang repo repository
Last synced: 6 days ago
JSON representation
Tool to determine which Go packages need to be rebuilt in a monorepo
- Host: GitHub
- URL: https://github.com/kynrai/tainted
- Owner: kynrai
- License: mit
- Created: 2018-03-12T17:14:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-01-15T16:36:00.000Z (almost 4 years ago)
- Last Synced: 2024-08-02T07:15:09.138Z (3 months ago)
- Topics: build-automation, build-tool, diff, go, golang, repo, repository
- Language: Go
- Size: 10.7 KB
- Stars: 59
- Watchers: 7
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-monorepo - Tainted
README
# Tainted
A tool to compare which go packages will need be to rebuilt as a result of changes between two git diffs.
Ideally used as part of a CI/CD pipeline to see which servies should be rebuilt and redeployed
N.B. Name inspired by terraforms taint terminology
# Project status
I do not have time to update or maintain this package but fortunatly Digital ocean have a much better and activly maintained tool here which does what atinted does and more,
https://github.com/digitalocean/gta
https://www.digitalocean.com/blog/gta-detecting-affected-dependent-go-packages/
# Requirments
- git MUST be installed and be on the path where tainted is run# Install
### From Go
go get -u github.com/kynrai/tainted### From binaries
see releases for latest binaries# Usage
### Basic usage
From the go project repo e.g. `$GOPATH/src/github.com/user/repo/`go list ./... | tainted
It using the standard go repo layout (recommended)
go list ./cmd/... | tainted
You can manually set the git commit ranges, by default the previous commit is checked with HEAD. i.e. `HEAD~1..HEAD`
You can change any or all of the params
go list ./... | tainted -from=HEAD~2
go list ./... | tainted -from=HEAD~1 -to=HEAD~1