Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
beb13b5
chore: standardised .gitattributes file
synesissoftware Jul 29, 2026
efcd563
chore: standardised .vimrc file
synesissoftware Jul 29, 2026
5684370
chore: VS Code settings
synesissoftware Jul 29, 2026
5b51010
chore: standardised markdown files
synesissoftware Jul 29, 2026
27ed61a
chore: README.md badges
synesissoftware Jul 29, 2026
d877f8f
chore: TODO.md standardisation
synesissoftware Jul 29, 2026
c1dda13
fix
synesissoftware Jul 30, 2026
810d16b
tidy
synesissoftware Jul 30, 2026
a77e530
chore: README badges
synesissoftware Jul 30, 2026
2da7ac7
whitespace
synesissoftware Jul 30, 2026
b40fce4
chore: renamed **CHANGES.txt** => **CHANGES.md**
synesissoftware Jul 30, 2026
5b3dda5
chore: renamed **CHANGES.txt** => **CHANGES.md**
synesissoftware Jul 30, 2026
0ec8fdc
chore: removed **HISTORY.md**
synesissoftware Jul 30, 2026
f8bd4d8
chore: CI improvements
synesissoftware Jul 30, 2026
ab720a4
chore: renaming all "TBC" to "T.B.C." (for searchability)
synesissoftware Jul 30, 2026
7ee43d6
chore: enhanced **EXAMPLES.md**
synesissoftware Jul 31, 2026
fc26b06
chore: enhanced **TODO.md**
synesissoftware Jul 31, 2026
37c5c1f
chore: enhanced **KNOWN_ISSUES.md**
synesissoftware Jul 31, 2026
f938687
chore: miscellaneous project boilerplate improvements
synesissoftware Jul 31, 2026
0f0fcf5
chore: canonicalised **README.md**
synesissoftware Jul 31, 2026
5980cfc
chore: fleshed out projects/libraries in **README.md**
synesissoftware Jul 31, 2026
902c300
test: added test to exercise issue with `stlsoft::simple_string`
synesissoftware Jul 31, 2026
b3af8cd
fix: `stlsoft::basic_simple_string<>#resize()` — expanding a non-empt…
synesissoftware Jul 31, 2026
cc8185b
1.11.1-rc5
synesissoftware Jul 31, 2026
866a7a7
boilerplate
synesissoftware Aug 7, 2026
e5ad5e4
CI: align push branches with Synesis canonical set
synesissoftware Aug 7, 2026
288efde
Scripts: add .sis/project_name.txt and wire ProjectName
synesissoftware Aug 7, 2026
eddf580
Scripts: MSYS auto-MinGW in prepare_cmake; add ctest_cmake.sh
synesissoftware Aug 7, 2026
4c2e5b6
CMake: set CMP0177 and fix BuildType default cache set
synesissoftware Aug 7, 2026
8bb46e0
Docs: review and refresh TODO.md against current packaging
synesissoftware Aug 7, 2026
f67f32a
Modernise STLSoft build/CI boilerplate and rewrite TODO roadmap.
synesissoftware Aug 7, 2026
7e8956a
Colourise STLSoft test/example runners and add CI update.3/update.4 b…
synesissoftware Aug 7, 2026
2bc3046
CMake/CI: optional ACE discovery and dedicated ACE cell
synesissoftware Aug 7, 2026
38aa14b
test: ACESTL version smoke when ACE is present
synesissoftware Aug 7, 2026
080d710
fix
synesissoftware Aug 7, 2026
ba1be86
test: add ACESTL string-access shim unit tests
synesissoftware Aug 7, 2026
9c7c8cd
fix: ACE_Time_Value stream_insert shadowing; shim_string::data()
synesissoftware Aug 7, 2026
cda7755
CI: restore +x after artifact download; fail on zero unit tests
synesissoftware Aug 7, 2026
9f34665
CI/scripts: do not chmod or run CMake artefacts as examples
synesissoftware Aug 7, 2026
7babc3c
test: remove deliberate ACESTL time_value failure used for GHA check
synesissoftware Aug 7, 2026
9e5be86
squash-commit
mwsis Aug 7, 2026
31b5e05
ACESTL: implement invoke_ACE_OS_snprintf via stlsoft_C_snprintf
synesissoftware Aug 7, 2026
4ce7a25
squash-commit
mwsis Aug 8, 2026
90ff90a
Merge branch 'master' into 'update'
mwsis Aug 8, 2026
5a04b5e
squash-commit
synesissoftware Aug 8, 2026
cc1b22a
Merge branch 'mwsis/update' into 'update.2'
synesissoftware Aug 8, 2026
ea7c275
squash-commit
synesissoftware Aug 8, 2026
1b230e1
Merge branch 'master' into 'update'
synesissoftware Aug 8, 2026
b134916
CMake: prefer tree headers over installed STLSoft on Apple Clang
synesissoftware Aug 8, 2026
99a3066
squash-commit
synesissoftware Aug 8, 2026
d43b44b
Merge branch 'dev' into 'update'
synesissoftware Aug 8, 2026
f13e3d0
Merge branch 'update' into 'update.2'
synesissoftware Aug 8, 2026
45bad8b
Merge branch 'update.2' into 'update.3'
synesissoftware Aug 8, 2026
2e11187
fix: initialise `viewSize` in C memory-map component tests to silence…
synesissoftware Aug 8, 2026
6bd465b
Merge branch 'update' into 'update.2'
synesissoftware Aug 8, 2026
6ae021d
Merge branch 'update.2' into 'update.3'
synesissoftware Aug 8, 2026
4522cf9
Merge branch 'dev' into 'update.3'
synesissoftware Aug 8, 2026
23d8550
Merge branch 'update.3' into 'ace'
synesissoftware Aug 8, 2026
78c34cc
Merge branch 'dev' into ace
synesissoftware Aug 8, 2026
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
211 changes: 205 additions & 6 deletions .github/workflows/ci-cell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ on:
required: false
type: string
default: Release
with-ace:
required: false
type: boolean
default: false

jobs:
build:
Expand All @@ -32,6 +36,10 @@ jobs:
if: runner.os == 'Linux' && inputs.c-compiler == 'clang'
run: sudo apt-get update && sudo apt-get install -y clang

- name: Install ACE (Ubuntu)
if: inputs.with-ace && runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libace-dev

- name: Setup MSYS2 MinGW
if: runner.os == 'Windows' && inputs.c-compiler == 'mingw'
uses: msys2/setup-msys2@v2
Expand Down Expand Up @@ -61,7 +69,8 @@ jobs:
-DCMAKE_DISABLE_FIND_PACKAGE_MFC=TRUE \
-DCMAKE_INSTALL_PREFIX="$DEPS" \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF
-DBUILD_TESTING=OFF \
-DNO_ACE=ON
cmake --build "$STLINSTALL" --config "${{ inputs.build-type }}" --parallel
cmake --install "$STLINSTALL" --config "${{ inputs.build-type }}"
elif [ "${{ inputs.c-compiler }}" = "mingw" ]; then
Expand All @@ -70,7 +79,8 @@ jobs:
-DCMAKE_BUILD_TYPE="${{ inputs.build-type }}" \
-DCMAKE_INSTALL_PREFIX="$DEPS" \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF
-DBUILD_TESTING=OFF \
-DNO_ACE=ON
cmake --build "$STLINSTALL" --parallel 2
cmake --install "$STLINSTALL"
else
Expand All @@ -80,7 +90,8 @@ jobs:
-DCMAKE_CXX_COMPILER="${{ inputs.cpp-compiler }}" \
-DCMAKE_INSTALL_PREFIX="$DEPS" \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF
-DBUILD_TESTING=OFF \
-DNO_ACE=ON
cmake --build "$STLINSTALL" --parallel
cmake --install "$STLINSTALL"
fi
Expand Down Expand Up @@ -129,13 +140,19 @@ jobs:
shell: bash
run: |
set -euo pipefail
if [ "${{ inputs.with-ace }}" = "true" ]; then
ACE_FLAG="-DNO_ACE=OFF"
else
ACE_FLAG="-DNO_ACE=ON"
fi
if [ "${{ inputs.c-compiler }}" = "cl" ]; then
cmake -B build -S . \
-DCMAKE_DISABLE_FIND_PACKAGE_MFC=TRUE \
-DCMAKE_PREFIX_PATH="${RUNNER_TEMP}/sis-deps" \
-DBUILD_EXAMPLES=ON \
-DBUILD_TESTING=ON \
-DNO_SHWILD=TRUE
-DNO_SHWILD=TRUE \
$ACE_FLAG
elif [ "${{ inputs.c-compiler }}" = "mingw" ]; then
export PATH="/mingw64/bin:$PATH"
cmake -B build -G "MinGW Makefiles" \
Expand All @@ -145,7 +162,8 @@ jobs:
-DCMAKE_PREFIX_PATH="${RUNNER_TEMP}/sis-deps" \
-DBUILD_EXAMPLES=ON \
-DBUILD_TESTING=ON \
-DNO_SHWILD=TRUE
-DNO_SHWILD=TRUE \
$ACE_FLAG
else
cmake -B build -S . \
-DCMAKE_BUILD_TYPE="${{ inputs.build-type }}" \
Expand All @@ -154,9 +172,30 @@ jobs:
-DCMAKE_PREFIX_PATH="${RUNNER_TEMP}/sis-deps" \
-DBUILD_EXAMPLES=ON \
-DBUILD_TESTING=ON \
-DNO_SHWILD=TRUE
-DNO_SHWILD=TRUE \
$ACE_FLAG
fi

- name: Verify ACE discovered
if: inputs.with-ace
shell: bash
run: |
set -euo pipefail
ACE_LIB="$(grep -E '^ACE_LIBRARY:(FILEPATH|PATH)=' build/CMakeCache.txt | head -1 | cut -d= -f2-)"
ACE_INC="$(grep -E '^ACE_INCLUDE_DIR:(FILEPATH|PATH)=' build/CMakeCache.txt | head -1 | cut -d= -f2-)"
if [ -z "${ACE_LIB}" ] || [[ "${ACE_LIB}" == *NOTFOUND* ]]; then
echo "with-ace requested but ACE_LIBRARY was not found:" >&2
grep -i '^ACE_' build/CMakeCache.txt || true
exit 1
fi
if [ -z "${ACE_INC}" ] || [[ "${ACE_INC}" == *NOTFOUND* ]]; then
echo "with-ace requested but ACE_INCLUDE_DIR was not found:" >&2
grep -i '^ACE_' build/CMakeCache.txt || true
exit 1
fi
echo "ACE_LIBRARY=${ACE_LIB}"
echo "ACE_INCLUDE_DIR=${ACE_INC}"

- name: Build
shell: bash
run: |
Expand Down Expand Up @@ -185,6 +224,10 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install ACE (Ubuntu)
if: inputs.with-ace && runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libace-dev

- name: Setup MSYS2 MinGW
if: runner.os == 'Windows' && inputs.c-compiler == 'mingw'
uses: msys2/setup-msys2@v2
Expand All @@ -199,6 +242,34 @@ jobs:
name: sis-build-${{ inputs.cell-id }}
path: build

- name: Restore executable bits
shell: bash
run: |
set -euo pipefail
find build -type f \
\( \
\( -path '*/examples/*' \
! -name '*.cmake' \
! -name 'CMakeLists.txt' \
! -name 'CTestTestfile.cmake' \
! -name 'Makefile' \
! -name 'cmake_install.cmake' \
\) \
-o -name 'test.unit.*' -o -name 'test_unit*' \
-o -name 'test.component.*' -o -name 'test_component*' \
-o -name 'test.scratch.*' -o -name 'test_scratch*' \
-o -name 'test.performance.*' -o -name 'test_performance*' \
\) \
! -path '*/CMakeFiles/*' \
! -name '*.a' \
! -name '*.d' \
! -name '*.lib' \
! -name '*.log' \
! -name '*.o' \
! -name '*.obj' \
! -name '*.pdb' \
-exec chmod +x {} +

- name: Run examples
shell: bash
run: |
Expand All @@ -216,6 +287,10 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install ACE (Ubuntu)
if: inputs.with-ace && runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libace-dev

- name: Setup MSYS2 MinGW
if: runner.os == 'Windows' && inputs.c-compiler == 'mingw'
uses: msys2/setup-msys2@v2
Expand All @@ -230,6 +305,34 @@ jobs:
name: sis-build-${{ inputs.cell-id }}
path: build

- name: Restore executable bits
shell: bash
run: |
set -euo pipefail
find build -type f \
\( \
\( -path '*/examples/*' \
! -name '*.cmake' \
! -name 'CMakeLists.txt' \
! -name 'CTestTestfile.cmake' \
! -name 'Makefile' \
! -name 'cmake_install.cmake' \
\) \
-o -name 'test.unit.*' -o -name 'test_unit*' \
-o -name 'test.component.*' -o -name 'test_component*' \
-o -name 'test.scratch.*' -o -name 'test_scratch*' \
-o -name 'test.performance.*' -o -name 'test_performance*' \
\) \
! -path '*/CMakeFiles/*' \
! -name '*.a' \
! -name '*.d' \
! -name '*.lib' \
! -name '*.log' \
! -name '*.o' \
! -name '*.obj' \
! -name '*.pdb' \
-exec chmod +x {} +

- name: Run unit tests
shell: bash
run: |
Expand All @@ -247,6 +350,10 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install ACE (Ubuntu)
if: inputs.with-ace && runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libace-dev

- name: Setup MSYS2 MinGW
if: runner.os == 'Windows' && inputs.c-compiler == 'mingw'
uses: msys2/setup-msys2@v2
Expand All @@ -261,6 +368,34 @@ jobs:
name: sis-build-${{ inputs.cell-id }}
path: build

- name: Restore executable bits
shell: bash
run: |
set -euo pipefail
find build -type f \
\( \
\( -path '*/examples/*' \
! -name '*.cmake' \
! -name 'CMakeLists.txt' \
! -name 'CTestTestfile.cmake' \
! -name 'Makefile' \
! -name 'cmake_install.cmake' \
\) \
-o -name 'test.unit.*' -o -name 'test_unit*' \
-o -name 'test.component.*' -o -name 'test_component*' \
-o -name 'test.scratch.*' -o -name 'test_scratch*' \
-o -name 'test.performance.*' -o -name 'test_performance*' \
\) \
! -path '*/CMakeFiles/*' \
! -name '*.a' \
! -name '*.d' \
! -name '*.lib' \
! -name '*.log' \
! -name '*.o' \
! -name '*.obj' \
! -name '*.pdb' \
-exec chmod +x {} +

- name: Run component tests
shell: bash
run: |
Expand All @@ -279,6 +414,10 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install ACE (Ubuntu)
if: inputs.with-ace && runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libace-dev

- name: Setup MSYS2 MinGW
if: runner.os == 'Windows' && inputs.c-compiler == 'mingw'
uses: msys2/setup-msys2@v2
Expand All @@ -293,6 +432,34 @@ jobs:
name: sis-build-${{ inputs.cell-id }}
path: build

- name: Restore executable bits
shell: bash
run: |
set -euo pipefail
find build -type f \
\( \
\( -path '*/examples/*' \
! -name '*.cmake' \
! -name 'CMakeLists.txt' \
! -name 'CTestTestfile.cmake' \
! -name 'Makefile' \
! -name 'cmake_install.cmake' \
\) \
-o -name 'test.unit.*' -o -name 'test_unit*' \
-o -name 'test.component.*' -o -name 'test_component*' \
-o -name 'test.scratch.*' -o -name 'test_scratch*' \
-o -name 'test.performance.*' -o -name 'test_performance*' \
\) \
! -path '*/CMakeFiles/*' \
! -name '*.a' \
! -name '*.d' \
! -name '*.lib' \
! -name '*.log' \
! -name '*.o' \
! -name '*.obj' \
! -name '*.pdb' \
-exec chmod +x {} +

- name: Run scratch tests
shell: bash
run: |
Expand All @@ -311,6 +478,10 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install ACE (Ubuntu)
if: inputs.with-ace && runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libace-dev

- name: Setup MSYS2 MinGW
if: runner.os == 'Windows' && inputs.c-compiler == 'mingw'
uses: msys2/setup-msys2@v2
Expand All @@ -325,6 +496,34 @@ jobs:
name: sis-build-${{ inputs.cell-id }}
path: build

- name: Restore executable bits
shell: bash
run: |
set -euo pipefail
find build -type f \
\( \
\( -path '*/examples/*' \
! -name '*.cmake' \
! -name 'CMakeLists.txt' \
! -name 'CTestTestfile.cmake' \
! -name 'Makefile' \
! -name 'cmake_install.cmake' \
\) \
-o -name 'test.unit.*' -o -name 'test_unit*' \
-o -name 'test.component.*' -o -name 'test_component*' \
-o -name 'test.scratch.*' -o -name 'test_scratch*' \
-o -name 'test.performance.*' -o -name 'test_performance*' \
\) \
! -path '*/CMakeFiles/*' \
! -name '*.a' \
! -name '*.d' \
! -name '*.lib' \
! -name '*.log' \
! -name '*.o' \
! -name '*.obj' \
! -name '*.pdb' \
-exec chmod +x {} +

- name: Run performance tests
shell: bash
run: |
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ on:
- idiomatic
- update.3
- update.4
- ace
- rc1
- rc2
- rc3
Expand Down Expand Up @@ -61,6 +62,27 @@ jobs:
c-compiler: ${{ matrix.c_compiler }}
cpp-compiler: ${{ matrix.cpp_compiler }}
build-type: Release
with-ace: false
secrets: inherit

cell-ace:
name: CI ACE (${{ matrix.id }})
strategy:
fail-fast: false
matrix:
include:
- id: linux-gcc-ace
os: ubuntu-latest
c_compiler: gcc
cpp_compiler: g++
uses: ./.github/workflows/ci-cell.yml
with:
cell-id: ${{ matrix.id }}
os: ${{ matrix.os }}
c-compiler: ${{ matrix.c_compiler }}
cpp-compiler: ${{ matrix.cpp_compiler }}
build-type: Release
with-ace: true
secrets: inherit

install-smoke:
Expand Down
Loading
Loading