Our goal was to create a GUI for Github Actions pipelines. As of now, GitHub Actions is a Continous Integration/Deployment tool that is integrated directly with GitHub. Currently, after configuring it with YAML files, there could be a scenario, where You would need to wait 30 minutes, just to receive an error. We wanted to make a simple application, that would prevent this kind of situations.
- Integrated editor
- Interpretation of YAML format
- Providing links to used actions
- Graphical representation of provided workflow
- Changing orientation of diagrams
- Hiding editor and diagrams window
- Handling matrixes
- Autocomplete on shortcut (CTRL+SPACE)
- Interpreting a workflow, based on "if" statement
- Displaying all kinds of errors inline
- Extend error handling logic
End
,with
, matrix depth handling
Week 1 - Week 5 - Assimilating with new technologies, first concept creation, added first functionalities (codemirror), creating first SVG's
Week 6 - Week 7 - Interpretation of YAML, converting YAML to JSON format, first errors (inline)
Week 8 - Week 9 - Integration with React-Diagrams and DagreJS
Week 10 - Week 11 - Bug-fixes, implementing custom errors, working on style-sheet (added grid)
Week 12 - Finishing touches
- "OffsetWidth error" - First encoutered after implementing DagreJS. It was caused, by calling a
setTimeout
function, before the previous call ended. We fixed it, by deleting said timeout incomponentWillUnmount
function. - Incorrect assumption, that the first job of provided workflow, needs to be independent - Huge mistake on our part, that forced us to re-write a whole function, which was handling the creation of diagrams.
- Problems with DagreJS
- Redistribution of diagrams - problem visible only in a scenario of changing the size of a diagram component. The only solution that we could come up with was to force a re-mount of our diagram component, by adding the "key" property to said component.