Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github-actions-winccoa

Reusable GitHub Actions for WinCC OA projects.

This repository is structured as a multi-action repository. Each action lives in its own subdirectory under actions/ and is published from the same repository tag.

Why one repository

For an expected set of 20-25 actions, one repository is the better default:

  • lower maintenance overhead for branching, rulesets, CI, security, and release automation
  • one place for shared contribution guidelines and examples
  • easier discovery for consumers looking for WinCC OA automation
  • consistent version tags across related actions

Use separate repositories only when an action needs one of these:

  • independent ownership or permissions
  • a very different runtime or toolchain
  • a separate release cadence with breaking changes unrelated to the rest
  • a security boundary that should not share CI or release flows

Repository layout

github-actions-winccoa/
  .github/
    workflows/
      ci.yml
  actions/
    project-metadata/
      action.yml
      README.md
    syntax-check/
      action.yml
      README.md
  docs/
    repository-strategy.md
  scripts/
    list-actions.mjs
    validate-actions.mjs
  package.json

Available actions

winccoa-build-docs

Builds WinCC OA help documentation in a container and extracts Doxygen warnings for PR reporting or quality gates.

- id: docs
  uses: winccoa-tools-pack/github-actions-winccoa/actions/winccoa-build-docs@main
  with:
    path: src/Squirt
    winccoa-version: '3.21'
    docker-image: ghcr.io/winccoa-tools-pack/winccoa:v3.21.3-debian12-all
    max-warning-count: '0'

Runtime and compatibility

  • Actions in this repository are intended for Linux environments.
  • The current validation baseline is Debian-based Docker images with WinCC OA 3.21.
  • Compatibility is expected for WinCC OA 3.21 patch versions and WinCC OA 3.22.
  • Legacy WinCC OA 3.20 may work, but should be treated as best-effort and validated per project.

syntax-check

Runs WinCC OA syntax validation inside a Docker image.

- uses: winccoa-tools-pack/github-actions-winccoa/actions/syntax-check@v1
  with:
    path: .
    winccoa-version: '3.21'
    docker-image: ghcr.io/winccoa-tools-pack/winccoa:latest

project-metadata

Normalizes project and config paths for downstream workflow steps.

- id: metadata
  uses: winccoa-tools-pack/github-actions-winccoa/actions/project-metadata@v1
  with:
    path: demo-oa-repo

- run: echo "Config is ${{ steps.metadata.outputs.config-path }}"

Release model

  • tag the repository with full versions such as v1.2.0
  • move the major tag such as v1 after compatible releases
  • keep breaking changes grouped into a new major tag

That model is simple and works well until one action needs its own release lifecycle. If that happens, split only that action into its own repository.

Development

npm install
npm run validate
npm run list:actions

About

Reusable GitHub Actions for WinCC OA projects

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages