> Case Study

// Automated CI/CD & Testing Strategy

Overview & My Role

Implementing user stories, fixing bugs, and maintaining a robust CI/CD pipeline for industrial motion firmware.

  • >Developed and maintained GitHub Actions workflows for automated builds and deployments.
  • >Authored IEC tests specifically for motion functionalities on real hardware.
  • >Full-cycle feature implementation from story to production-ready firmware.

// System Summary

• Rack Setup: Physical PLCs mapped in a structured environment.
• VM Environment: VMs specialized by build & execute queues.
• Scope: Integrated end-to-end regression validation.

> Infrastructure

Git Versioning Repo

Central GitLab repository managing codebase history, branches, and Webhook pipeline integrations.

Static Analysis Engine

Automated code complexity audit and security vulnerability checking utilizing Coverity, Squore, and Klocwork.

FW Builder VM

Dedicated virtual builder nodes compiling firmware binaries dynamically for target RTOS platform.

Runner VMs (1, 2, 3)

Parallel virtual test executors connected to target setups to flash binaries and trigger test programs.

PLC Test Systems (1, 2, 3)

Physical industrial PLC systems (IEC 61131-3) mounted on dedicated racks to execute motion tests.

> Automation

A rapid developer feedback loop is essential during feature development. Integrating automated static code analysis ensures high code quality and early mitigation of cybersecurity vulnerabilities, while running automated regression tests on actual target hardware guarantees real-world performance and integration stability before release.

Scroll to explore diagram
Pipeline Activity: PR
HIL loop
Developer
Git Repo
GH Actions
Static Analysis
Coverity / Squore
Unit Tests (gTest)
Version Check
Firmware Build
HIL Regressions
Runner VM1
Runner VM2
Runner VM3
SPS Rack 1
SPS Rack 2
SPS Rack 3
1 / 11

Developer Commit

Developer pushes code modifications to the GitLab repository, opening a new pull request.