Skip to content

Commit acf67a4

Browse files
author
Aliaksandr Adziareika
committed
<TBBAS-2530> Add determine openDAQ version action
1 parent 369e918 commit acf67a4

File tree

3 files changed

+136
-36
lines changed

3 files changed

+136
-36
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Determine openDAQ framework latest artefact
2+
inputs:
3+
win32-force:
4+
required: false
5+
default: false
6+
7+
runs:
8+
using: composite
9+
steps:
10+
- name: Determine openDAQ package latest release version
11+
id: determine-opendaq-release
12+
shell: bash
13+
run: |
14+
version=$(gh api repos/openDAQ/openDAQ/releases/latest --jq '.tag_name')
15+
if [[ -z "$version" || "$version" == "null" ]]; then
16+
echo "::error::Failed to determine latest openDAQ release version"
17+
exit 1
18+
fi
19+
20+
platform=""
21+
packaging=""
22+
23+
if [[ "${{ runner.os }}" == "Linux" ]]; then
24+
arch=$(uname -m)
25+
if [[ "$arch" == "x86_64" ]]; then
26+
platform="ubuntu22.04-x86_64"
27+
elif [[ "$arch" == "aarch64" ]]; then
28+
platform="ubuntu22.04-arm64"
29+
else
30+
echo "::error::Unsupported Linux arch: $arch"
31+
exit 1
32+
fi
33+
packaging="deb"
34+
35+
elif [[ "${{ runner.os }}" == "Windows" ]]; then
36+
if [[ "${{ inputs.win32-force }}" == "true" ]]; then
37+
platform="win32"
38+
else
39+
platform="win64"
40+
fi
41+
packaging="exe"
42+
43+
else
44+
echo "::error::Unsupported runner OS ${{ runner.os }}"
45+
exit 1
46+
fi
47+
48+
artefact="opendaq-${version}-${platform}.${packaging}"
49+
scheme="s3"
50+
authority="bb-blueberry-sdk-releases"
51+
sdk="releases/${version}/SDK"
52+
53+
echo "version=$version" >> $GITHUB_OUTPUT
54+
echo "platform=$platform" >> $GITHUB_OUTPUT
55+
echo "packaging=$packaging" >> $GITHUB_OUTPUT
56+
echo "artefact=$artefact" >> $GITHUB_OUTPUT
57+
echo "scheme=$scheme" >> $GITHUB_OUTPUT
58+
echo "authority=$authority" >> $GITHUB_OUTPUT
59+
echo "path=$sdk" >> $GITHUB_OUTPUT
60+
echo "uri=${scheme}://${authority}/${sdk}/${artefact}" >> $GITHUB_OUTPUT

.github/workflows/opendaq-download-framework-aws.yml renamed to .github/workflows/build.yml

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
1+
name: Runner name
12
on:
2-
pull_request:
3-
branches:
4-
- main
5-
- jira/*
3+
# pull_request:
4+
# branches:
5+
# - main
6+
# - jira/*
7+
8+
workflow_call:
9+
inputs:
10+
target_runner:
11+
required: true
12+
default: 'ubuntu-latest'
13+
type: string
614

715
env:
816
s3bucket: bb-blueberry-sdk-releases
@@ -11,9 +19,15 @@ env:
1119
# s3artefact: opendaq-3.31.0-ubuntu22.04-x86_64_01ff08d.deb
1220
s3artefact: opendaq-3.20.4-ubuntu22.04-x86_64.deb
1321

22+
artefact-name: opendaq
23+
artefact-platform: ubuntu22.04
24+
artefact-arch: x86_64
25+
artefact-type: deb
26+
artefact-ver:
27+
1428
jobs:
1529
build:
16-
runs-on: ubuntu-latest
30+
runs-on: ${{ github.event.inputs.target_runner }}
1731
steps:
1832
- name: Checkout repo
1933
uses: actions/checkout@v4
@@ -36,7 +50,7 @@ jobs:
3650
# uses: actions/upload-artifact@v4
3751
# with:
3852
# name: ${{ env.s3artefact }}
39-
# path: ./${{ env.s3artefact }}
53+
# path: ${{ runner.temp }}/${{ env.s3artefact }}
4054

4155
- name: Configure CMake
4256
run: cmake -B build/output -S . -G Ninja -DOPENDAQ_ENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Release

.github/workflows/ci.yml

Lines changed: 56 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,63 @@ on:
66
- main
77
- jira/*
88

9+
10+
11+
env:
12+
s3bucket: bb-blueberry-sdk-releases
13+
# s3sdk_path: releases/main/SDK
14+
s3sdk_path: releases/v3.20.4/SDK
15+
# s3artefact: opendaq-3.31.0-ubuntu22.04-x86_64_01ff08d.deb
16+
s3artefact: opendaq-3.20.4-ubuntu22.04-x86_64.deb
17+
918
jobs:
1019
build-and-test:
1120
runs-on: ubuntu-latest
1221
steps:
13-
- name: Stop
14-
run: exit 1
15-
16-
- name: Checkout repo
17-
uses: actions/checkout@v4
18-
19-
- name: Install dependencies
20-
run: |
21-
sudo apt-get update && sudo apt-get install -y git wget cmake ninja-build mono-complete g++ libgmock-dev
22-
wget -v https://docs.opendaq.com/download/SDK/opendaq-3.20.4-ubuntu22.04-x86_64.deb -O /tmp/opendaq.deb
23-
sudo dpkg -i /tmp/opendaq.deb || sudo apt-get install -f -y
24-
25-
- name: Configure CMake
26-
run: cmake -B build/output -S . -G Ninja -DOPENDAQ_ENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Release
27-
28-
- name: Build
29-
run: cmake --build build/output --target all
30-
31-
- name: Run tests with GTest report
32-
run: |
33-
mkdir -p build/reports
34-
export GTEST_OUTPUT=xml:$(pwd)/build/reports/gtest-report.xml
35-
ctest --test-dir build/output --output-on-failure -V
36-
37-
- name: Upload test report artifact
38-
if: always()
39-
uses: actions/upload-artifact@v4
40-
with:
41-
name: gtest-report
42-
path: build/reports/gtest-report.xml
22+
23+
- name: Checkout repo
24+
uses: actions/checkout@v4
25+
26+
- name: Determine openDAQ framework version
27+
id: opendaq-framework
28+
uses: ./.github/workflows/framework-latest-release
29+
30+
- name: Donwload openDAQ framework
31+
uses: ./.github/actions/framework-download
32+
with:
33+
src-opendaq-framework-dev: ${{ steps.opendaq-framework.outputs.uri }}
34+
dst-opendaq-framework-dev: ${{ runner.temp }}/${{ steps.opendaq-framework.outputs.artefact }}
35+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
36+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
37+
aws_region: ${{ secrets.AWS_REGION }}
38+
39+
- name: Install openDAQ package
40+
uses: ./.github/actions/framework-install
41+
with:
42+
src-opendaq-framework: ${{ runner.temp }}/${{ steps.opendaq-framework.outputs.artefact }}
43+
44+
45+
# - name: Install dependencies
46+
# run: |
47+
# sudo apt-get update && sudo apt-get install -y git wget cmake ninja-build mono-complete g++ libgmock-dev
48+
# wget -v https://docs.opendaq.com/download/SDK/opendaq-3.20.4-ubuntu22.04-x86_64.deb -O /tmp/opendaq.deb
49+
# sudo dpkg -i /tmp/opendaq.deb || sudo apt-get install -f -y
50+
51+
- name: Configure CMake
52+
run: cmake -B build/output -S . -G Ninja -DOPENDAQ_ENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Release
53+
54+
- name: Build
55+
run: cmake --build build/output --target all
56+
57+
# - name: Run tests with GTest report
58+
# run: |
59+
# mkdir -p build/reports
60+
# export GTEST_OUTPUT=xml:$(pwd)/build/reports/gtest-report.xml
61+
# ctest --test-dir build/output --output-on-failure -V
62+
63+
# - name: Upload test report artifact
64+
# if: always()
65+
# uses: actions/upload-artifact@v4
66+
# with:
67+
# name: gtest-report
68+
# path: build/reports/gtest-report.xml

0 commit comments

Comments
 (0)