Skip to content

Support for Enums, OptStructs and Unions (+ bugfixes) #15

Support for Enums, OptStructs and Unions (+ bugfixes)

Support for Enums, OptStructs and Unions (+ bugfixes) #15

# OPCUA CI build using EPICS ci-scripts
# (see: https://github.com/epics-base/ci-scripts)
# Unified Automation SDK client library - Linux builds
# ====================================================
# This is YAML - indentation levels are crucial
# Set the 'name:' properties to values that work for you
name: UA SDK Linux build and end-to-end test
# Trigger on pushes and PRs to any branch
on:
push:
paths-ignore:
- 'documentation/*'
- '**/*.html'
- '**/*.md'
- 'devOpcuaSup/open62541/*'
pull_request:
env:
SETUP_PATH: .ci-local:.ci
MODULES: "gtest"
GTEST: "v1.0.1"
BASE_HOOK: ".ci-local/base.patch"
BASE_RECURSIVE: NO
encrypted_178ee45b7f75_pass: ${{ secrets.encrypted_178ee45b7f75_pass }}
jobs:
build-linux:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
# Set environment variables from matrix parameters
env:
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
BASE: ${{ matrix.base }}
UASDK: ${{ matrix.uasdk }}
strategy:
fail-fast: false
matrix:
include:
# Oldest supported Base 7.x
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "R7.0.4"
uasdk: "1.6.3"
name: "7.0.4 Ub-20 v1.6.3"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
uasdk: "1.6.3"
name: "7.0 Ub-20 v1.6.3"
# Oldest supported Base 3.15.x
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "R3.15.7"
uasdk: "1.6.3"
name: "3.15.7 Ub-20 v1.6.3"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "3.15"
uasdk: "1.6.3"
name: "3.15 Ub-20 v1.6.3"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "R7.0.4"
uasdk: "1.7.2"
name: "7.0.4 Ub-20 v1.7.2"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
uasdk: "1.7.2"
name: "7.0 Ub-20 v1.7.2"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "R3.15.7"
uasdk: "1.7.2"
name: "3.15.7 Ub-20 v1.7.2"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "3.15"
uasdk: "1.7.2"
name: "3.15 Ub-20 v1.7.2"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Download and install UASDK client
run: |
python .ci-local/install-sdk.py
- name: Prepare build dependencies
run: |
python .ci/cue.py prepare
- name: Build main module
run: python .ci/cue.py build
- name: Run main module tests
run: python .ci/cue.py test
- name: Collect and show test results
run: python .ci/cue.py test-results
- name: Install end2end test dependencies
run: |
sudo apt-get update
sudo apt-get -y install libfaketime faketime
sudo pip3 install pytest opcua pyepics==3.5.6
sudo pip3 install run-iocsh -i https://artifactory.esss.lu.se/artifactory/api/pypi/pypi-virtual/simple
- name: Run end2end tests
run: |
python .ci/cue.py exec make -C end2endTest/server
python .ci/cue.py exec pytest -v end2endTest/test_opcua.py