Skip to content

Merge branch 'update-ci-builds' #1

Merge branch 'update-ci-builds'

Merge branch 'update-ci-builds' #1

# OPCUA CI build using EPICS ci-scripts
# (see: https://github.com/epics-base/ci-scripts)
# open62541 SDK client library - Linux builds
# ===========================================
# This is YAML - indentation levels are crucial
# Set the 'name:' properties to values that work for you
name: open62541 Linux build and end-to-end test
# Trigger on pushes and PRs to any branch
on:
push:
paths-ignore:
- 'documentation/*'
- '**/*.html'
- '**/*.md'
- 'devOpcuaSup/UaSdk/*'
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 }}
OPEN62541: ${{ matrix.open62541 }}
strategy:
fail-fast: false
matrix:
include:
# Oldest supported Base 7.x
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "R7.0.4"
open62541: "1.3.12"
name: "7.0.4 Ub-20 v1.3.12"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
open62541: "1.3.12"
name: "7.0 Ub-20 v1.3.12"
# Oldest supported Base 3.15.x
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "R3.15.7"
open62541: "1.3.12"
name: "3.15.7 Ub-20 v1.3.12"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "3.15"
open62541: "1.3.12"
name: "3.15 Ub-20 v1.3.12"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "3.15"
open62541: "1.2.10"
name: "3.15 Ub-20 v1.2.10"
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
open62541: "1.2.10"
name: "7.0 Ub-20 v1.2.10"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Download and compile open62541 client
run: |
python .ci-local/install-open62541.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