A demonstration project showcasing automated code generation and deployment using EmbeddedEngineer Automation from LieberLieber Software GmbH.
This project demonstrates how to integrate EmbeddedEngineer Automation into a CI/CD pipeline for automated model-driven development. It includes:
- Traffic Light Example: A complete embedded system model demonstrating state machines and code generation
- Automated Deployment: GitHub Actions workflow that deploys EmbeddedEngineer and runs automation
- License Management: Secure handling of EmbeddedEngineer licenses via GitHub secrets
- Cross-Platform Build: MSBuild integration for building generated C++ code
- ✅ Automated model processing and code generation
- ✅ GitHub Actions CI/CD integration
- ✅ License file management
- ✅ C++ project building with MSBuild
- ✅ Artifact publishing
- ✅ Comprehensive error handling and validation
- GitHub Repository with Actions enabled
- EmbeddedEngineer License (stored as
EEALICENSEsecret) - Windows Environment (for C++ builds)
- PowerShell (for deployment scripts)
git clone https://github.com/LieberLieber/EmbeddedEngineer.Automation.Demo.git
cd EmbeddedEngineer.Automation.DemoAdd the following secret to your GitHub repository:
EEALICENSE: Your EmbeddedEngineer Automation license string
# Run local deployment test
.\testlocal.ps1
# Deploy EmbeddedEngineer
.\scripts\Deploy-EmbeddedEngineer.ps1 -LicenseString "your-license-here"# Execute EmbeddedEngineer Automation
.\eea\EmbeddedEngineer.Automation.exe --Model .\TraficLight.github.qeax --License .\eea.lic --PackageGuid "{904EF962-C541-4627-A463-AD6F1328BFB3}"The CI/CD pipeline automatically:
- Deploys EmbeddedEngineer from Nexus repository
- Validates License and creates license file
- Runs Model Automation on TrafficLight model
- Builds Generated Code using MSBuild with VS2022 toolset
- Publishes Artifacts for download
- Push to
mainordevelopbranches - Manual workflow dispatch available
- Platform: x64 Release
- Toolset: Visual Studio 2022 (v143)
- SDK: Latest available Windows SDK
EmbeddedEngineer.Automation.Demo/
├── .github/
│ └── workflows/
│ └── deploy-on-push.yml # GitHub Actions CI/CD
├── scripts/
│ └── Deploy-EmbeddedEngineer.ps1 # Deployment script
├── TrafficLight/
│ └── visualstudio/
│ ├── TrafficLights.sln # Visual Studio solution
│ └── TrafficLights.vcxproj # C++ project file
├── TraficLight.github.qeax # EmbeddedEngineer model
├── license.secrete # License file (local)
├── testlocal.ps1 # Local testing script
└── README.md # This file
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow PowerShell best practices
- Update documentation for new features
- Test locally before pushing
- Ensure CI/CD pipeline passes
This project uses EmbeddedEngineer Automation which requires a valid license from LieberLieber Software GmbH. Ask sales@lieberlieber.com for a trial license.
Proprietary License - All rights reserved. Contact LieberLieber for licensing information.
- Issues: GitHub Issues
- Documentation: LieberLieber Support
| Workflow | Status |
|---|---|
| Deploy on Push |
Built with ❤️ using EmbeddedEngineer Automation