项目作者: spawnfest

项目描述 :
SpawnFest 2021
高级语言: CSS
项目地址: git://github.com/spawnfest/crash.git
创建时间: 2021-09-13T23:05:19Z
项目社区:https://github.com/spawnfest/crash

开源协议:

下载


Crash

Crash from Crash Bandicoot™

Crash is a simple (distributed) docker-on-docker Continuous Integration system written in Elixir - SpawnFest 2021

CI

Requirements

  • docker 20+
  • docker-compose 1.29+
  • GNU make 4+

Getting started

make commands

  1. build Build all services containers
  2. check Execute static code analysis
  3. clean Shoutdown services
  4. commit Execute dynamic commit generation
  5. compile Compile crash application
  6. coverage Execute code coverage
  7. format-check Execute code format verification
  8. format Execute code formatting
  9. halt Shoutdown all services containers
  10. install-deps Install crash dependencies
  11. master-node Start master node
  12. node-one Start first node connected to master
  13. node-two Start second node connected to master
  14. shell Enter into crash service
  15. shell-node Enter into crash service with beam local-node name
  16. start Start application
  17. test Execute crash suite test
  18. up Start all services

How to use

setup the project

  1. make init

run a single instance

  1. make start

open http://localhost:3000/

simulate commit request

  1. make commit

run multiple instances

execute the following commands in separate sessions

  1. make master-node
  2. make node-one
  3. make node-two

Example multinode

open http://localhost:3000/

simulate commit request

  1. make commit

Example build

Improvements / Missing parts / Bugs

  • 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.)