Skip to content

Commit

Permalink
Pipeline for Windows and Linux (#3)
Browse files Browse the repository at this point in the history
  • Loading branch information
blamacaz authored Oct 6, 2024
1 parent 6bdfadc commit 8b0b0d5
Show file tree
Hide file tree
Showing 39 changed files with 219 additions and 1,977 deletions.
146 changes: 146 additions & 0 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
name: C/C++ CI

on:
push:
pull_request:
branches:
- main

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
#ubuntu-latest, macos-latest, windows-latest]
include:
- os: windows-latest
triplet: x64-windows
- os: ubuntu-latest
triplet: x64-linux
# - os: macos-latest
# triplet: x64-osx

continue-on-error: true

env:
VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite'

steps:
- name: Set OS environment variable in lowercase letters
run: echo "CURRENT_OS=$(echo $RUNNER_OS | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
shell: bash

- name: Set up cache
uses: actions/github-script@v7
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- uses: actions/checkout@v4

- name: Create vcpkg default binary cache
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
mkdir -p ${{ github.workspace }}\vcpkg\bincache
else
mkdir -p ${{ github.workspace }}/vcpkg/bincache
fi
shell: bash

- uses: lukka/get-cmake@latest

- name: Set up vcpkg
uses: lukka/run-vcpkg@v4
with:
setupOnly: true
vcpkgGitCommitId: 0affe8710a4a5b26328e909fe1ad7146df39d108

# Restore vpkg cache
- name: Restore vcpkg
uses: actions/cache@v4
with:
path: |
${{ env._VCPKG_ }}
!${{ env._VCPKG_ }}/buildtrees
!${{ env._VCPKG_ }}/packages
!${{ env._VCPKG_ }}/downloads
!${{ env._VCPKG_ }}/installed
key: |
${{ hashFiles( '.git/modules/vcpkg/HEAD' )}}
# Ensure that the developer command promt is present on Windows runners
- uses: ilammy/msvc-dev-cmd@v1

- name: Install packages
if: runner.os == 'Linux'
run: sudo apt-get install -y libxi-dev libxtst-dev bison gperf libgles2-mesa-dev libxrandr-dev libxcursor-dev libxdamage-dev libxinerama-dev nasm

- if: runner.os == 'macOS'
run: brew install nasm

- name: Restore from cache the dependencies and generate project files
run: |
cmake -DBUILD_EXAMPLE_APP=ON -DBUILD_TESTS=ON --preset ${{ env.CURRENT_OS }}-release
- name: Build (Release configuration)
run: |
cmake --build --preset ${{ env.CURRENT_OS }}-release
- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: build-artifacts-${{ env.CURRENT_OS }}
path: |
bin/build/${{ env.CURRENT_OS }}-release/example
bin/build/${{ env.CURRENT_OS }}-release/test/Iris.Tests
bin/build/${{ env.CURRENT_OS }}-release/test/AddressSanitizer.Tests
bin/build/${{ env.CURRENT_OS }}-release/CTestTestfile.cmake
test:
needs: build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
#ubuntu-latest, macos-latest, windows-latest]
include:
- os: windows-latest
triplet: x64-windows
- os: ubuntu-latest
triplet: x64-linux
# - os: macos-latest
# triplet: x64-osx

continue-on-error: true

if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/main')

steps:
- name: Set environment variable in lowercase letters
run: echo "CURRENT_OS=$(echo $RUNNER_OS | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
shell: bash

- uses: actions/checkout@v4

- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: build-artifacts-${{ env.CURRENT_OS }}
path: bin/build/${{ env.CURRENT_OS }}-release

- name: Set permissions
if: runner.os == 'Linux' || runner.os == 'macOS'
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get update && sudo apt-get install -y libegl1-mesa && sudo chmod +x bin/build/linux-release/test/Iris.Tests/iris_tests
elif [ "$RUNNER_OS" == "macOS" ]; then
chmod 755 bin/build/macos-release/test/Iris.Tests/iris_tests
fi
shell: bash

- name: Test
run: |
ctest --preset test-${{ env.CURRENT_OS }}
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@ if(BUILD_TESTS)
message("Build tests")
enable_testing()
add_subdirectory("test/Iris.Tests")
add_subdirectory("test/AddressSanitizer.Tests")
endif()

# ---------------------------------------------------------------------------------------
Expand Down
17 changes: 13 additions & 4 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": 3,
"version": 6,
"cmakeMinimumRequired": {
"major": 3,
"minor": 21,
Expand Down Expand Up @@ -106,7 +106,6 @@
"description": "Target Windows with the Visual Studio development environment.",
"inherits": [ "windows-debug" ],
"cacheVariables": {
"WINDOWS_PIPELINE": true,
"CMAKE_BUILD_TYPE": "Release"
}
},
Expand Down Expand Up @@ -178,15 +177,25 @@
],
"testPresets": [
{
"name": "videolib-linux",
"name": "test-linux",
"configurePreset": "linux-release",
"output": {"outputOnFailure": true},
"environment": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
{
"name": "videolib-windows",
"name": "test-windows",
"configurePreset": "windows-release",
"output": { "outputOnFailure": true },
"environment": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
{
"name": "test-macos",
"configurePreset": "macos-release",
"output": { "outputOnFailure": true },
"environment": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
Expand Down
2 changes: 1 addition & 1 deletion src/CDLuminance.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ namespace iris
/// <param name="flashThreshold"></param>
CDLuminance(EA::EACC::Utils::FrameConverter* converter, const short& fps, const cv::Size& frameSize, FlashParams* params);
void SetCurrentFrame(const IrisFrame& irisFrame) override;
void SetCurrentFrame(cv::Mat* bgrFrame);
void SetCurrentFrame (cv::Mat* bgrFrame) override;

~CDLuminance();
protected:
Expand Down
2 changes: 1 addition & 1 deletion src/RelativeLuminance.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ namespace iris


void SetCurrentFrame(const IrisFrame& irisFrame) override;
void SetCurrentFrame(cv::Mat* bgrFrame);
void SetCurrentFrame(cv::Mat* bgrFrame) override;

~RelativeLuminance();
protected:
Expand Down
94 changes: 0 additions & 94 deletions src/TransitionEvaluator.cpp

This file was deleted.

Loading

0 comments on commit 8b0b0d5

Please sign in to comment.