Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
5a4be28
Fix: pilot position too imprecise
LeoKle Sep 15, 2024
836e044
fix: processing out of range aircraft
LeoKle Sep 15, 2024
c40ce95
allow access to plugin ptr from external classes
LeoKle May 1, 2024
805ad30
Reset AORT when resetting TOBT
herver Oct 27, 2024
502e82a
fix pilot data not being reset
LeoKle Jan 31, 2025
598211b
fix CMP0115
LeoKle Feb 1, 2025
d0ff185
fix CMake copy instruction
LeoKle Feb 1, 2025
c9befec
add GoogleTest
LeoKle Feb 1, 2025
a35228e
update CMakeSettings.json
LeoKle Feb 1, 2025
95282d0
use std::lock_guard & std::move in favor of .lock/unlock() and copies
LeoKle Feb 11, 2025
eedeca9
use map.find() in favor of iteration
LeoKle Feb 11, 2025
5cc07c6
add example tests
LeoKle Feb 13, 2025
30d1ef6
Merge feature/GoogleTest into develop
LeoKle Feb 13, 2025
5fc9412
remove unused CMake scripts
LeoKle Feb 13, 2025
7eb9d8f
fix missing GoogleTest submodule
LeoKle Feb 13, 2025
3cc3231
add CMake script to update submodules
LeoKle Feb 13, 2025
9357887
remove GoogleTest submodule
LeoKle Mar 12, 2025
f67c266
Pilot.h set lastUpdate to defaultTime
LeoKle Mar 14, 2025
8118b32
add conan, remove dependencies from repo
LeoKle Mar 14, 2025
bba1ddb
add conan to dev build workflow
LeoKle Mar 15, 2025
38dba37
fix get latest version workflow
LeoKle Mar 15, 2025
a1ec699
dev build workflow: remove WORKSPACE env variable, set on push event …
LeoKle Mar 15, 2025
c0fc3ad
release build workflow: update workflow based on dev build
LeoKle Mar 15, 2025
4d96b21
workflows: add version composite action
LeoKle Mar 17, 2025
de92add
workflows: add build-develop2.yml for testing
LeoKle Mar 17, 2025
11ad1fa
workflows: fix version action not found
LeoKle Mar 17, 2025
92ba582
workflows: fix version action not found 2
LeoKle Mar 17, 2025
f64b0c9
workflows: version action - fix property shell missing
LeoKle Mar 17, 2025
493b5bc
workflows: add conan install composite action
LeoKle Mar 17, 2025
d16d5cf
workflows: add conan install to test build workflow
LeoKle Mar 17, 2025
c8892a3
workflows: conan install - add missing shell property
LeoKle Mar 17, 2025
c106398
workflows: conan action - install was missing, fix name and description
LeoKle Mar 17, 2025
17961e8
workflows: conan install - add missing build folder input
LeoKle Mar 17, 2025
e9a6592
workflows: empty conanfile to speed up workflow tests
LeoKle Mar 17, 2025
69993e4
workflows: fix conan action
LeoKle Mar 17, 2025
f381ec7
Revert "workflows: empty conanfile to speed up workflow tests"
LeoKle Mar 17, 2025
097cd21
workflows: add DLL build composite action with CMake
LeoKle Mar 17, 2025
1cb0713
workflows: conan action add --force in profile detection
LeoKle Mar 17, 2025
7002ffd
workflows: correct build and conan names / descriptions
LeoKle Mar 17, 2025
885b0f9
workflows: build, conan actions - add description and required false …
LeoKle Mar 17, 2025
461010f
workflows: add CTest composite action
LeoKle Mar 17, 2025
4c7586c
workflows: add CTest action to test build workflow
LeoKle Mar 17, 2025
f96b70a
workflows: test workflow - remove build-config input at run tests
LeoKle Mar 17, 2025
7521cae
workflows: test action - fix multiline arguments
LeoKle Mar 17, 2025
5cd68a4
workflows: add release composite action
LeoKle Mar 17, 2025
11b7e9f
workflows: correct release action input parameters
LeoKle Mar 17, 2025
02de542
workflows: add release action to test workflow
LeoKle Mar 17, 2025
c3e9ee5
workflows: fix GITHUB_TOKEN not accessible
LeoKle Mar 17, 2025
29188e2
workflows: fix version propagation through workflow
LeoKle Mar 17, 2025
a2c2fa7
workflows: move version py scripts, readd DEBUG build flag
LeoKle Mar 17, 2025
4787478
workflows: remove old dev and release build workflow
LeoKle Mar 17, 2025
0ca3e73
workflows: build action - allow to omit dev build flags
LeoKle Mar 17, 2025
d859430
workflows: add main & develop release
LeoKle Mar 17, 2025
bc59a82
workflows: remove unused get-latest-version workflow
LeoKle Mar 17, 2025
0a110ab
workflows: fix build action
LeoKle Mar 17, 2025
8dc87d5
tests: add StringUtils test
LeoKle Jun 9, 2025
a232d34
Bump project version to 1.3.3
LeoKle Jul 29, 2025
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
32 changes: 32 additions & 0 deletions .github/actions/build/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "CMake build project"
description: "Sets up CMake to use the conan toolchain and builds the project"
inputs:
build-config:
description: "build configuration either Release or Debug"
required: true
default: "Release"
build-folder:
description: "Path to the build folder"
required: false
default: build
dev-build-version:
description: "The version for a development build"
required: false
default: "-1"
runs:
using: "composite"
steps:
- name: CMake Setup
shell: bash
run: |
cd ${{ inputs.build-folder }}

if [ "${{ inputs.dev-build-version }}" != "-1" ]; then
cmake .. -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=${{ inputs.build-folder }}/conan_toolchain.cmake -A Win32 -DDEV_BUILD=ON -DDEV_RELEASE_NUMBER="${{ inputs.dev-build-version }}"
else
cmake .. -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=${{ inputs.build-folder }}/conan_toolchain.cmake -A Win32
fi

- name: Build DLL
shell: bash
run: cmake --build ${{inputs.build-folder}} --config ${{inputs.build-config}}
32 changes: 32 additions & 0 deletions .github/actions/conan/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "Conan install, package install & CMake Setup"
description: "Install conan and conan packages"
inputs:
build-config:
description: "build configuration either Release or Debug"
required: true
default: "Release"
build-folder:
description: "Path to the build folder"
required: false
default: build
runs:
using: "composite"
steps:
- name: Install Conan
id: conan
uses: turtlebrowser/get-conan@main

- name: Cache Conan packages
uses: actions/cache@v4
with:
path: ~/.conan2
key: ${{ runner.os }}-conan-${{ hashFiles('**/conanfile*') }}-build_type-${{ inputs.build-config }}
restore-keys: |
${{ runner.os }}-conan-${{ hashFiles('**/conanfile*') }}-
${{ runner.os }}-conan-

- name: Install Conan packages
shell: bash
run: |
conan profile detect --force
conan install . --profile=conanprofile --settings=build_type=${{ inputs.build-config }} --output-folder=${{ inputs.build-folder }} --build=missing
64 changes: 64 additions & 0 deletions .github/actions/release/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: "Create Github Release"
description: "Publishes the plugin DLL and config"
inputs:
dll-name:
description: "Name of the DLL to be uploaded"
default: "vACDM.dll"
required: false
build-config:
description: "build configuration either Release or Debug"
required: true
default: "Release"
version:
description: "the version name"
required: true
draft:
description: "Release is a draft"
required: false
default: true # to allow amendment of release notes
prelease:
description: "Is this a pre-release"
required: false
default: true
build-folder:
description: "Path to the build folder"
required: false
default: build
GITHUB_TOKEN:
description: "GitHub token"
required: true
runs:
using: "composite"
steps:
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: v${{ inputs.version }}
release_name: v${{ inputs.version }}
draft: ${{ inputs.draft }}
prerelease: ${{ inputs.prelease }}
env:
GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }}

- name: Upload release asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{inputs.build-folder}}/${{inputs.build-config}}/${{inputs.dll-name}}
asset_name: ${{inputs.dll-name}}
asset_content_type: application/octet-stream
env:
GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }}

- name: Upload config file (vacdm.txt)
id: upload-release-asset-txt
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: src/config/vacdm.txt
asset_name: vacdm.txt
asset_content_type: text/plain
env:
GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }}
14 changes: 14 additions & 0 deletions .github/actions/tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: "Run CTest"
description: "Runs tests using CTest"
inputs:
build-folder:
description: "Path to the build folder"
required: false
default: build
runs:
using: "composite"
steps:
- name: run CTest
shell: bash
run: |
ctest --test-dir ${{ inputs.build-folder }} --output-on-failure --verbose
57 changes: 57 additions & 0 deletions .github/actions/version/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: "Latest Version Check"
description: "Checks for the latest version of the repository and outputs it."
inputs:
repository:
description: "The repository to check version for"
required: true
ref:
description: "The Git reference (branch/tag) to check"
required: true

outputs:
version:
description: "The determined version"
value: ${{ steps.version_handler.outputs.version }}
dev-build-version:
description: "The determined version for a development build"
value: ${{ steps.version_handler.outputs.dev_release }}

runs:
using: "composite"
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"

- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip
pip install PyGithub

- name: Run version handler
id: version_handler
env:
REPOSITORY: ${{ inputs.repository }}
REF: ${{ inputs.ref }}
shell: bash
run: |
python .github/actions/version/version_handler.py

- name: Print Outputs
shell: bash
run: |
echo "Determined Version: ${{ steps.version_handler.outputs.version }}"
echo "Development Build Version: ${{ steps.version_handler.outputs.dev_release }}"

- name: Fail if version is 0
shell: bash
run: |
if [ "${{ steps.version_handler.outputs.version }}" == "0" ]; then
echo "Version is 0, failing the job!"
exit 1
fi
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
""" """

import sys
import os
import re
Expand All @@ -10,25 +8,29 @@
REPOSITORY_NAME = os.environ.get("REPOSITORY")
REF = os.environ.get("REF")

# determine the branch that triggered the workflow
# Determine the branch that triggered the workflow
match = re.match(r"refs/heads/(.*)", REF)
if not match:
sys.exit(1)

branch_name = match.group(1)
print("Determined branch name: ", branch_name)
print(f"Determined branch name: {branch_name}")

version = extract_version_from_cmakelists()

is_dev_branch = branch_name == "develop"
is_dev_branch = branch_name != "main"
dev_release = None
if is_dev_branch:
last_dev_release = determine_dev_release(version, REPOSITORY_NAME)
dev_release = str(last_dev_release + 1)
version += "-dev." + dev_release
version += f"-dev.{dev_release}"

# Ensure GITHUB_OUTPUT is set correctly
github_output = os.getenv("GITHUB_OUTPUT")
if not github_output:
print("Error: GITHUB_OUTPUT is not set!", file=sys.stderr)
sys.exit(1)

# Write the version and dev release to GitHub environment variable
with open(os.getenv("GITHUB_ENV"), "a") as env_file:
env_file.write(f"VERSION={version}\n")
if is_dev_branch and dev_release:
env_file.write(f"DEV_RELEASE={dev_release}\n")
with open(os.environ["GITHUB_OUTPUT"], "a", encoding="utf-8") as fh:
print(f"version={version}", file=fh)
print(f"dev_release={dev_release}", file=fh)
93 changes: 22 additions & 71 deletions .github/workflows/build-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,91 +6,42 @@ on:
- "develop"

env:
DLL_NAME: vACDM.dll
BUILD_CONFIGURATION: Release
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: "0"
DEV_RELEASE: "-1"

jobs:
formatting-check:
uses: ./.github/workflows/clang-format.yml

build:
needs: formatting-check
runs-on: windows-latest
name: "Build plugin"
name: "Build plugin - develop release"

steps:
- uses: actions/checkout@v3
- name: Check out repository
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v2
- name: Get latest release version
id: version_check
uses: ./.github/actions/version
with:
python-version: "3.x"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install PyGithub

- name: Run version handler
env:
REPOSITORY: ${{ github.repository }}
REF: ${{ github.ref }}
run: |
python .github/workflows/version_handler.py

- name: Determine DEV_RELEASE value
id: find_latest_dev_release
env:
REPOSITORY: ${{ github.repository }}
run: python .github/workflows/determine_dev_release.py
repository: ${{ github.repository }}
ref: ${{ github.ref }}

- name: Install MSVC toolset
run: choco install visualstudio2019buildtools --package-parameters "--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64"

- name: Set up MSVC environment
shell: pwsh
run: |
Import-Module "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell -VsInstallPath "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"

- name: Configure CMake
run: cmake -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_CONFIGURATION}} -A Win32 -DDEV_BUILD=ON -DDEV_RELEASE_NUMBER="${{ env.DEV_RELEASE }}"
- name: Install conan & packages
uses: ./.github/actions/conan
with:
build-config: ${{env.BUILD_CONFIGURATION}}

- name: Build DLL
run: cmake --build build --config ${{env.BUILD_CONFIGURATION}}

- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
uses: ./.github/actions/build
with:
tag_name: v${{ env.VERSION }}
release_name: v${{ env.VERSION }}
draft: true # to allow amendment of release notes
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-config: ${{env.BUILD_CONFIGURATION}}
dev-build-version: ${{steps.version_check.outputs.dev-build-version}}

- name: Upload release asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: build/${{env.BUILD_CONFIGURATION}}/${{env.DLL_NAME}}
asset_name: ${{env.DLL_NAME}}
asset_content_type: application/octet-stream
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run tests
uses: ./.github/actions/tests

- name: Upload config file (vacdm.txt)
id: upload-release-asset-txt
uses: actions/upload-release-asset@v1
- name: Create GitHub Release
uses: ./.github/actions/release
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: src/config/vacdm.txt
asset_name: vacdm.txt
asset_content_type: text/plain
env:
build-config: ${{env.BUILD_CONFIGURATION}}
version: ${{steps.version_check.outputs.version}}
prelease: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading