Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
3628740
Add container 16.04 build
astarche Sep 16, 2021
148038b
install cmake
astarche Sep 16, 2021
1a292b7
python
astarche Sep 16, 2021
285817d
more python
astarche Sep 16, 2021
68fe7f4
git
astarche Sep 16, 2021
06a7bbe
cd
astarche Sep 16, 2021
4fd9a3c
g
astarche Sep 16, 2021
420ff9a
j
astarche Sep 16, 2021
0d23489
add repo
astarche Sep 16, 2021
adbd775
still
astarche Sep 16, 2021
232848b
t
astarche Sep 16, 2021
c9c2158
y
astarche Sep 16, 2021
c72bebc
delete matrix stuff
astarche Sep 16, 2021
9349bac
gcc
astarche Sep 16, 2021
7d5c999
more gcc
astarche Sep 16, 2021
78b8047
m
astarche Sep 16, 2021
32d6a78
wtf
astarche Sep 16, 2021
57b6e9f
version
astarche Sep 16, 2021
f76b3fe
cmake newer
astarche Sep 16, 2021
bbe34dc
no check cert
astarche Sep 17, 2021
1ada296
no check cert
astarche Sep 17, 2021
d6b0ded
no check cert
astarche Sep 17, 2021
c6d5727
s
astarche Sep 17, 2021
7302042
no echo error var
astarche Sep 17, 2021
7ac8b38
no echo error var
astarche Sep 17, 2021
d372eff
n
astarche Sep 17, 2021
947e1bf
n
astarche Sep 17, 2021
8d19ec4
n
astarche Sep 17, 2021
abc0cb3
n
astarche Sep 17, 2021
c5eaa4f
n
astarche Sep 17, 2021
c541c5a
n
astarche Sep 17, 2021
9858919
python
astarche Sep 17, 2021
6ab9440
python
astarche Sep 17, 2021
d9417ac
python
astarche Sep 17, 2021
f476c97
python
astarche Sep 17, 2021
9df2824
python
astarche Sep 17, 2021
5ebfb4d
python
astarche Sep 17, 2021
645813e
python
astarche Sep 17, 2021
06d5d1f
python
astarche Sep 17, 2021
019469d
python
astarche Sep 17, 2021
6277259
spip
astarche Sep 17, 2021
5296076
get pip
astarche Sep 17, 2021
07010f7
get pip
astarche Sep 17, 2021
22e91cf
get pip
astarche Sep 17, 2021
fd0baba
build-essential
astarche Sep 17, 2021
9a31897
p
astarche Sep 17, 2021
5969995
cmake
astarche Sep 17, 2021
d9878eb
retention
astarche Sep 17, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/build_cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ on:
branches:
- main
- 'releases/**'
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:

env:
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/build_nilrt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ on:
branches:
- main
- 'releases/**'
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:

env:
Expand Down Expand Up @@ -125,7 +123,6 @@ jobs:
RESULT_VARIABLE result
OUTPUT_VARIABLE output
ERROR_VARIABLE output
ECHO_OUTPUT_VARIABLE ECHO_ERROR_VARIABLE
)
if (NOT result EQUAL 0)
string(REGEX MATCH "FAILED:.*$" error_message "${output}")
Expand Down
154 changes: 154 additions & 0 deletions .github/workflows/build_ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
name: Ubuntu build

on:
push:
branches:
- main
- 'releases/**'
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:

jobs:
build:
name: Build with ubuntu 16.04
runs-on: ubuntu-latest
container:
image: ubuntu:16.04
env:
CMAKE_VERSION: 3.18.3
BUILD_TYPE: Release
ports:
- 80
options: --cpus 2

steps:
- name: Cancel Build(s)
uses: styfle/cancel-workflow-action@0.7.0
if: "github.ref != 'refs/heads/main'"
with:
access_token: ${{ github.token }}

- name: Install dependencies
run: |
apt update
apt install -y software-properties-common python-software-properties lsb-release
add-apt-repository -y ppa:git-core/ppa
add-apt-repository -y ppa:ubuntu-toolchain-r/test
add-apt-repository -y ppa:deadsnakes/ppa
apt update
apt install -y python3.8 python3.8-distutils git gcc-9 g++-9 wget build-essential
wget https://bootstrap.pypa.io/get-pip.py
python3.8 get-pip.py
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9
update-alternatives --config gcc

- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.9
with:
cmake-version: '3.20.x'
- name: Use cmake
run: cmake --version

- name: Checkout Repo
uses: actions/checkout@v2
with:
submodules: 'recursive'

- name: Install mako
run: python3.8 -m pip install mako

- name: Print state
run: |
pwd
ls
cmake --version

- name: Configure
shell: cmake -P {0}
run: |
set(path_separator ":")
set(ENV{PATH} "$ENV{GITHUB_WORKSPACE}${path_separator}$ENV{PATH}")
execute_process(
COMMAND cmake
-S .
-B build
-DCMAKE_BUILD_TYPE=$ENV{BUILD_TYPE}

RESULT_VARIABLE result
)
if (NOT result EQUAL 0)
message(FATAL_ERROR "Bad exit status")
endif()

- name: Build
run: cmake --build build --config Release -j 2

- name: Run Tests
shell: cmake -P {0}
run: |
include(ProcessorCount)
ProcessorCount(N)

execute_process(
COMMAND ctest -j ${N} -C $ENV{BUILD_TYPE} -E System --output-on-failure
WORKING_DIRECTORY build
RESULT_VARIABLE result
)
if (NOT result EQUAL 0)
message(FATAL_ERROR "Running tests failed!")
endif()

- name: Tar Linux Server Binaries
run: >-
tar -cvzf ni-grpc-device-server-linux-glibc2_23-x64.tar.gz
-C ${GITHUB_WORKSPACE}/build
ni_grpc_device_server
server_config.json
-C ${GITHUB_WORKSPACE}
LICENSE
ThirdPartyNotices.txt

- name: Upload Linux Server Binaries Artifact
uses: actions/upload-artifact@v2
with:
name: ni-grpc-device-server-linux-glibc2_23-x64
path: ni-grpc-device-server-linux-glibc2_23-x64.tar.gz
retention-days: 1

- name: Tar Linux Test Binaries
run: >-
tar -cvzf ni-grpc-device-tests-linux-glibc2_23-x64.tar.gz
-C ${GITHUB_WORKSPACE}/build
certs/
IntegrationTestsRunner
libTestApi.so
SystemTestsRunner
test_mutual_tls_config.json
UnitTestsRunner
-C ${GITHUB_WORKSPACE}
LICENSE
ThirdPartyNotices.txt

- name: Upload Linux Test Binaries Artifact
uses: actions/upload-artifact@v2
with:
name: ni-grpc-device-tests-linux-glibc2_23-x64
path: ni-grpc-device-tests-linux-glibc2_23-x64.tar.gz
retention-days: 1

- name: Stage Linux Client Files
run: |
mkdir -p ${{ runner.temp }}/staging/proto
cp generated/**/*.proto source/protobuf/*.proto ${{ runner.temp }}/staging/proto
cp -r examples/ ${{ runner.temp }}/staging/
cp LICENSE ThirdPartyNotices.txt ${{ runner.temp }}/staging/
tar -cvzf ni-grpc-device-client.tar.gz -C ${{ runner.temp }}/staging/ --exclude *nifake* examples/ proto/ LICENSE ThirdPartyNotices.txt

- name: Upload Linux Client Files Artifact
uses: actions/upload-artifact@v2
with:
name: ni-grpc-device-client-Linux
path: ni-grpc-device-client.tar.gz
retention-days: 1

4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.12.0)
cmake_minimum_required(VERSION 3.19.0)

project(ni_grpc_device_server C CXX)

Expand Down Expand Up @@ -45,7 +45,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
#----------------------------------------------------------------------
# Find python3 for the build system
#----------------------------------------------------------------------
find_package(Python3 COMPONENTS Interpreter)
find_package(Python3 3.6...<3.10 COMPONENTS Interpreter)
if(NOT ${Python3_FOUND})
message(WARNING "Python3 not found. Python3 is required for code generation.")
endif()
Expand Down