Skip to content

dibrinsofor/chase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chase

Chase is command runner and potentially a (forward) build system. Chase primarily reads build specifications from a chasefile placed in your outer directory consisting of one or more tasks/chases.

Building

Chase uses fsatrace for cross-platform file access tracing. We also support an experimental flag that attmepts tracing with ebpf on Linux and Windows.

# Clone with submodules
git clone --recurse-submodules https://github.com/dibrinsofor/chase
cd chase

# Build fsatrace (required for tracing)
cd fsatrace && make && cd ..

# Build chase
go build .

Platform Notes:

Platform Tracing Mechanism Notes
Linux LD_PRELOAD Works with dynamically linked binaries
macOS DYLD_INSERT_LIBRARIES Requires SIP disabled on 10.11+
Windows DLL injection Needs both 32-bit and 64-bit DLLs

Experimental eBPF (Linux only):

# Build with eBPF support for more detailed subprocess tracing
go build -tags experimental_ebpf .

Using

see sample chasefile

chase -l
  build    summary: "build main"
  tests    summary: "run all tests"
  hello    --
chase #runs the build task
chase tests # runs only the test dash

chase expects the custom shell declaration at the top of the file. if it does not exist, commands will be run with any reasonable sh (Git bash if on windows)

see ./idea/readme.md for more

todo

  • Improve UI

About

command runner

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors