Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/z0mbix/shci
Simple Shell CI/Build System
https://github.com/z0mbix/shci
Last synced: about 1 month ago
JSON representation
Simple Shell CI/Build System
- Host: GitHub
- URL: https://github.com/z0mbix/shci
- Owner: z0mbix
- License: bsd-2-clause
- Created: 2014-12-30T21:49:34.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-01-15T09:02:15.000Z (almost 9 years ago)
- Last Synced: 2024-04-17T20:13:13.841Z (9 months ago)
- Language: Shell
- Size: 4.88 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Simple Shell CI Build System
### YAML Build Config
**shci** uses the yaml file **.shci.yml**. An example:
pre-build:
- make clean
build:
- make test
- make build
- make release
post-build:
- echo 'Uploading build artifact to S3'
- make clean
success:
- echo 'Sending celebratory email to the boss'
- echo 'Sending happy message to HipChat'
failure:
- echo 'Sending email to those that care'
- echo 'Sending sad message to HipChat'Save this in the root of your project/repository.
### Usage
Running shci with the example yaml build config from above:
$ ./shci
Performing pre
Cleaning stuff up...Performing build
Running tests...
Building 2b4ccc8cdfc42a81ddced3e2ea9015881787fc61 on master
Creating tarball release: shci-2b4ccc8cdfc42a81ddced3e2ea9015881787fc61.tar.gzPerforming post
Uploading build artifact to S3
Cleaning stuff up...build_result: post success:
Sending celebratory email to the boss
Sending happy message to HipChat**shci** will look for the file **.shci.yml** in the root of your codebase/repository and run the commands specified in each section in the obvious order.
You can specify an alternative yaml build file with the **-f** option:
$ ./shci -f build.yaml
You can also specify the location of the repository with the **-d** option:
$ ./shci -d ~/Projects/myrepo
## Build Failures
$ ./shci
Performing pre
Cleaning stuff up...Performing build
Running tests...
shci: line 111: unexpected EOF while looking for matching `''
shci: line 112: syntax error: unexpected end of file
make: *** [test] Error 1
build_result: build failure: make test
Sending email to those that care
Sending sad message to HipChat## Uses
Could be used with the excellent [phayes/hookserve](https://github.com/phayes/hookserve) for very simple Github based CI.
** Known Issues
- This isn't fully working yet
- Should be better at parsing yaml or just replace yaml
- Only supports git