zeugwerk/Zeugwerk CI/CD Action
Build and Test a TwinCAT3 project with a Zeugwerk CI/CD server.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| username | Username for authenticating with the Zeugwerk CI/CD Service. Store this as a GitHub Actions secret and reference it via secrets.ZEUGWERK_USERNAME. | yes | "" |
| password | Password for authenticating with the Zeugwerk CI/CD Service. Store this as a GitHub Actions secret and reference it via secrets.ZEUGWERK_PASSWORD. | yes | "" |
| tcversion | TwinCAT version to use for compiling and testing (e.g. TC3.1.4024.22). Must be available on the Zeugwerk CI/CD Server. If omitted, an available version is selected automatically. | no | "" |
| platform | Target platform for the build (e.g. "TwinCAT RT (x64)"). Must match a platform supported by the Zeugwerk CI/CD Server. | no | TwinCAT RT (x64) |
| variant-build | Name of the PLC project variant to build. If omitted, the default variant is used. Useful when the project defines multiple variants for different hardware configurations. | no | "" |
| variant-test | Name of the PLC project variant to use when running unit tests. Typically this is a variant configured without hardware dependencies to allow tests to run in simulation. | no | "" |
| static-analysis | Enable TwinCAT static analysis during the build. Accepts "false" (disabled), "true" (= "light" analysis for open source user, "full" analysis for Zeugwerk Customers due to the Beckhoff License costs). Uses the static analysis settings defined in the .plcproj files. | no | false |
| installer | When set to "true", generates an installer package that allows the PLC to be deployed to a target system from a Windows PC. | no | false |
| installer-name | Optional name of the installer file, defaults to "Setup-<REPO_NAME> <VERSION>.exe" if not set | no | "" |
| workspace | Path to the directory containing the .Zeugwerk folder. Use this when your project is not located at the repository root (e.g. "src/MyPlc/"). Defaults to the repository root "./". | no | ./ |
| version | Overrides the version number used when naming build artifacts. Accepts formats such as "1.2.3.4" or "1.2.3-alpha". If omitted, the version is derived from the latest tag on the repository. | no | "" |
| skip-build | When set to "true", skips compiling the project and producing build artifacts. Useful when you only want to run unit tests without a full build, reducing pipeline execution time. | no | false |
| skip-test | When set to "true", skips compiling and executing the unit tests defined in the project. Useful for faster feedback cycles when test results are not required (e.g. on draft PRs). | no | false |
| force-checks | When set to "true", forces a "Check All Objects" pass even for application PLCs (those with at least one task). By default this check is skipped for applications since "Build Solution" is sufficient. | no | false |
| artifact-name | File name for the downloaded build artifact archive. Defaults to "artifact.zip". Override this to avoid collisions when multiple build jobs upload artifacts in the same workflow run. | no | artifact.zip |
Outputs
no outputs