Crash is a simple (distributed) docker-on-docker Continuous Integration system written in Elixir - SpawnFest 2021
- docker 20+
- docker-compose 1.29+
- GNU make 4+
build Build all services containers
check Execute static code analysis
clean Shoutdown services
commit Execute dynamic commit generation
compile Compile crash application
coverage Execute code coverage
format-check Execute code format verification
format Execute code formatting
halt Shoutdown all services containers
install-deps Install crash dependencies
master-node Start master node
node-one Start first node connected to master
node-two Start second node connected to master
shell Enter into crash service
shell-node Enter into crash service with beam local-node name
start Start application
test Execute crash suite test
up Start all services
make init
make start
make commit
execute the following commands in separate sessions
make master-node
make node-one
make node-two
make commit
- add more integration / unit tests
- improve error handling inside gensever
- improve data visualization on UI
- add opentelemetry stuff
- with four or more builds the UI is broken
- fix mutation testing in CI
- introduce Chaos Monkey testing
- add persistent builds through data storage (mnesia, postgres, etc.)