Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
d861f06
Aggressive upgrade of conan dependencies
jmarrec Apr 3, 2025
aa35fe6
Update filesystem for removed methods
jmarrec Apr 3, 2025
7702395
Missing fmt include
jmarrec Apr 3, 2025
47927e0
bump deps again, except cpprestdk (so websocketpp and boost are stuck…
jmarrec Dec 4, 2025
cfa451a
Avoid deprecation message
jmarrec Dec 4, 2025
555ed27
Missing include for unique_ptr
jmarrec Dec 4, 2025
7f79a54
Fix the dependabot_conan.py file to work with conan 2 (2.27 tested)
jmarrec Mar 30, 2026
3de4f1a
Re-bump deps
jmarrec Mar 30, 2026
3ecd952
Improve reporting for pinned versions
jmarrec Mar 30, 2026
4c1f665
dedup packages (boost is listed twice)
jmarrec Mar 30, 2026
00f9622
Relock completely conan.lock
jmarrec Mar 30, 2026
8e55091
Modernize dependabot_conan workflow for conan v2 and use github bot
jmarrec Apr 3, 2026
13bb304
Add write permisisons for commit and PR
jmarrec Apr 3, 2026
8a66d49
Automated checkin - update conan recipes
github-actions[bot] Apr 3, 2026
4399090
Merge pull request #5605 from NatLabRockies/dependabot/conan
jmarrec Apr 3, 2026
4759be4
relock
jmarrec Apr 3, 2026
87ee256
Aggressively pull latest revisions from conancenter
jmarrec Apr 3, 2026
c429dbd
Boost upgrade: MacOS - Remove the D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY…
jmarrec Apr 3, 2026
f483a74
Fixed swig which didn't have PCRE support in this PR: https://github.…
jmarrec Apr 3, 2026
cc4b8c8
Relock from mac with libgettext
jmarrec Apr 3, 2026
48330c2
Remove -Wno-enum-constexpr-conversion on mac due to boost bump
jmarrec Apr 3, 2026
63861d0
Add header for CLI/ExtraValidators.hpp after bump or CLI::IsMember no…
jmarrec Apr 3, 2026
233138f
use cmake --preset instead of calling ". ./conanbuild.sh && cmake -G"…
jmarrec Apr 9, 2026
0287550
Hum, still add SWIG_EXECUTABLE to conan_toolchain.cmake in case other…
jmarrec Apr 9, 2026
1aad7b2
Partial lockfile for windows apparently
jmarrec Apr 9, 2026
99dbb81
Update remote in incremental-build. (Should review or delete this wor…
jmarrec Apr 9, 2026
ec68bcd
Existing missing include iomanip for std::setprecision
jmarrec Apr 23, 2026
79f8dd3
Encode paths as forward slashes in windows for cmake usage
jmarrec Apr 23, 2026
0599813
Build in github workspace instead of symlinking to /mnt/build
jmarrec May 4, 2026
9f3b0b7
Rebump cli11 and sqlite3
jmarrec May 6, 2026
d91c69e
rebump refs
jmarrec May 6, 2026
d285b6f
Relock with missing windows build_requires. I uploaded binaries for a…
jmarrec May 6, 2026
bee9798
The hosted windows binaries for boost have the v2s_mt_nt62 namespace…
jmarrec May 6, 2026
11d0590
Use the same exclude in Ctest to ensure it reruns the right failing t…
jmarrec May 6, 2026
34594b3
Remove slop: GHA's default shell is bash --noprofile --norc -eo pipef…
jmarrec May 6, 2026
5d8c04b
Improve the Ctest steps.
jmarrec May 6, 2026
55594bd
Avoid CLI11 pulling windef and messing up boost::regex
jmarrec May 6, 2026
fc0fc66
Exclude `BCLFixture.RemoteBCL_BCLSearchResult` from full-build CI: Ne…
jmarrec May 6, 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
7 changes: 1 addition & 6 deletions .github/workflows/buildCSharp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,12 +132,7 @@ jobs:
echo -e "::endgroup::"

begin_group "Conan install"
if [ "$RUNNER_OS" == "macOS" ]; then
# Avoid "builtin __has_nothrow_assign is deprecated; use __is_nothrow_assignable instead" in boost/1.79 with recent clang
conan install . --output-folder=./build --build=missing -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=${{ env.BUILD_TYPE }} -o with_testing=False -o with_benchmark=False -o with_ruby=False -o with_python=False -o with_csharp=True -c tools.build:cxxflags="['-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']"
else
conan install . --output-folder=./build --build=missing -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=${{ env.BUILD_TYPE }} -o with_testing=False -o with_benchmark=False -o with_ruby=False -o with_python=False -o with_csharp=True
fi
conan install . --output-folder=./build --build=missing -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=${{ env.BUILD_TYPE }} -o with_testing=False -o with_benchmark=False -o with_ruby=False -o with_python=False -o with_csharp=True
echo -e "::endgroup::"

begin_group "CMake Configure"
Expand Down
28 changes: 20 additions & 8 deletions .github/workflows/dependabot_conan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@ on:
jobs:
build:
runs-on: ubuntu-latest

permissions:
contents: write # Commit to branch
pull-requests: write # Create pull request

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'

Expand All @@ -26,8 +31,15 @@ jobs:
shell: bash
working-directory: ./developer/conan
run: |
conan remote add nrel https://conan.openstudio.net/artifactory/api/conan/openstudio
conan config set general.revisions_enabled=True
begin_group() { echo -e "::group::\033[93m$1\033[0m"; }

begin_group "Configure Conan"
conan remote add --force nrel-v2 https://conan.openstudio.net/artifactory/api/conan/conan-v2
echo "core:non_interactive = True" >> $HOME/.conan2/global.conf
echo "core.download:parallel = {{os.cpu_count() - 2}}" >> $HOME/.conan2/global.conf
cat $HOME/.conan2/global.conf
echo "::endgroup::"

# This returns 1 if update was needed
python dependabot_conan.py

Expand All @@ -36,16 +48,16 @@ jobs:
shell: bash
run: |
set -x
git config user.name 'Conan Dependabot'
git config user.email 'conan-dependabot@users.noreply.github.com'
git config user.name 'github-actions[bot]'
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
git commit -am "Automated checkin - update conan recipes"

- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v8
if: failure()
with:
branch: dependabot/conan
committer: 'Conan Dependabot <conan-dependabot@users.noreply.github.com>'
committer: 'github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>'
delete-branch: true
title: "[bot] New upstream conan recipes"
body: |
Expand Down
62 changes: 26 additions & 36 deletions .github/workflows/excluded-tests-summary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
job = data.get('jobs', {}).get(job_key, {})
# We target the 'include' list specifically
matrix_data = job.get('strategy', {}).get('matrix', {}).get('include', [])

filtered = []
for item in matrix_data:
regex = item.get('exclude_regex')
Expand All @@ -77,18 +77,18 @@ jobs:
filtered.append(item)
else:
print(f" Skipping {item.get('pretty')} (no exclude regex)")

return {'include': filtered}
except Exception as e:
print(f"Error processing {job_key}: {e}")
return {'include': []}

print("\nProcessing Linux Matrix:")
linux = get_filtered_matrix('linux-build')

print("\nProcessing MacOS Matrix:")
macos = get_filtered_matrix('macos-build')

print("\nProcessing Windows Matrix:")
windows = get_filtered_matrix('windows-build')

Expand Down Expand Up @@ -150,7 +150,6 @@ jobs:

- name: Prepare workspace
run: |
set -euo pipefail
if command -v git >/dev/null 2>&1; then git config --global --add safe.directory '*'; fi
prepare_dir() {
local target=$1
Expand Down Expand Up @@ -195,7 +194,6 @@ jobs:

- name: Configure Conan remotes
run: |
set -euo pipefail
conan remote remove conancenter || true
conan remote add conancenter https://center2.conan.io
conan remote remove nrel-v2 || true
Expand All @@ -208,7 +206,6 @@ jobs:

- name: Conan install
run: |
set -euo pipefail
conan install . \
--output-folder="${{ env.OPENSTUDIO_BUILD }}" \
--build=missing \
Expand All @@ -229,7 +226,6 @@ jobs:
- name: Configure with CMake
working-directory: ${{ env.OPENSTUDIO_BUILD }}
run: |
set -euo pipefail
. ./conanbuild.sh
CCACHE_ARGS=()
if command -v ccache >/dev/null 2>&1; then
Expand All @@ -252,32 +248,30 @@ jobs:
- name: Build with Ninja
working-directory: ${{ env.OPENSTUDIO_BUILD }}
run: |
set -euo pipefail
. ./conanbuild.sh
cmake --build . --parallel ${{ matrix.max_jobs }}

- name: Run Excluded Tests
id: ctest
working-directory: ${{ env.OPENSTUDIO_BUILD }}
run: |
set -o pipefail
. ./conanbuild.sh

exclude_regex="${{ matrix.exclude_regex }}"

# Double check just in case, though the matrix setup should filter these
if [ -z "$exclude_regex" ] || [ "$exclude_regex" == '""' ]; then
echo "No excluded tests defined. Skipping."
echo "has_tests=false" >> $GITHUB_OUTPUT
exit 0
fi

echo "has_tests=true" >> $GITHUB_OUTPUT
echo "Running excluded tests matching: $exclude_regex"

# Run sequentially (-j 1) to avoid resource contentions for these specific problem tests
ctest -C ${{ env.BUILD_TYPE }} -R "$exclude_regex" --output-on-failure -j 1 -T test | tee excluded_tests.log

exit_code=${PIPESTATUS[0]}
echo "exit_code=$exit_code" >> $GITHUB_OUTPUT

Expand Down Expand Up @@ -336,7 +330,7 @@ jobs:
uses: jmarrec/[email protected]
with:
python-version: ${{ env.PYTHON_REQUIRED_VERSION }}

- name: Install Python dependencies
working-directory: ${{ env.OPENSTUDIO_SOURCE }}
run: |
Expand All @@ -356,7 +350,7 @@ jobs:
run: |
echo MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos_dev_target }} >> $GITHUB_ENV
brew install ninja

- name: Create Build Directory
run: cmake -E make_directory ${{ env.OPENSTUDIO_BUILD }}

Expand Down Expand Up @@ -385,7 +379,6 @@ jobs:

- name: Configure Conan remotes
run: |
set -euo pipefail
conan remote remove nrel-v2 || true
conan remote add --index 0 nrel-v2 https://conan.openstudio.net/artifactory/api/conan/conan-v2
conan remote remove conancenter || true
Expand All @@ -396,7 +389,6 @@ jobs:
- name: Conan install
working-directory: ${{ env.OPENSTUDIO_SOURCE }}
run: |
set -euo pipefail
CMAKE_POLICY_VERSION_MINIMUM=3.5 conan install . \
--output-folder=../${{ env.OPENSTUDIO_BUILD }} \
--build=missing \
Expand All @@ -419,7 +411,6 @@ jobs:
- name: Configure with CMake
working-directory: ${{ env.OPENSTUDIO_BUILD }}
run: |
set -e
chmod +x ./conanbuild.sh
. ./conanbuild.sh
CCACHE_ARGS=()
Expand Down Expand Up @@ -452,22 +443,21 @@ jobs:
working-directory: ${{ env.OPENSTUDIO_BUILD }}
shell: bash
run: |
set -euo pipefail
gem install bundler -v 2.4.10 --conservative --no-document

exclude_regex="${{ matrix.exclude_regex }}"

if [ -z "$exclude_regex" ] || [ "$exclude_regex" == '""' ]; then
echo "No excluded tests defined. Skipping."
echo "has_tests=false" >> $GITHUB_OUTPUT
exit 0
fi

echo "has_tests=true" >> $GITHUB_OUTPUT
echo "Running excluded tests matching: $exclude_regex"

ctest -C ${{ env.BUILD_TYPE }} -R "$exclude_regex" --output-on-failure -j 1 -T test | tee excluded_tests.log

exit_code=${PIPESTATUS[0]}
echo "exit_code=$exit_code" >> $GITHUB_OUTPUT

Expand Down Expand Up @@ -496,26 +486,26 @@ jobs:
CTEST_PARALLEL_LEVEL: ${{ matrix.max_jobs }}
RUBYOPT: "-Eutf-8:utf-8"
PYTHONUTF8: "1"

steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
path: ${{ env.OPENSTUDIO_SOURCE }}
fetch-depth: 1

- name: Git safe directory
working-directory: ${{ env.OPENSTUDIO_SOURCE }}
run: git config --global --add safe.directory '*'

- name: Restore sccache cache
uses: actions/cache@v4
with:
path: ${{ github.workspace }}\.sccache
key: sccache-${{ matrix.os }}-${{ matrix.platform }}-${{ hashFiles('conan.lock') }}
restore-keys: |
sccache-${{ matrix.os }}-${{ matrix.platform }}-

- name: Patch tests for Windows
working-directory: ${{ env.OPENSTUDIO_SOURCE }}
run: |
Expand Down Expand Up @@ -555,7 +545,7 @@ jobs:
with:
python-version: '3.12.2'
cache: 'pip'

- name: Install Python dependencies
working-directory: ${{ env.OPENSTUDIO_SOURCE }}
run: |
Expand All @@ -572,7 +562,7 @@ jobs:
with:
ruby-version: '3.2.2'
bundler-cache: true

- name: Create Build Directory
run: cmake -E make_directory ${{ env.OPENSTUDIO_BUILD }}

Expand Down Expand Up @@ -620,7 +610,7 @@ jobs:
& $env:ComSpec /c "call conanbuild.bat && cmake --build . --parallel ${{ matrix.max_jobs }}"
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
if (Get-Command sccache -ErrorAction SilentlyContinue) { sccache -s }

- name: Run Excluded Tests
id: ctest
working-directory: ${{ env.OPENSTUDIO_BUILD }}
Expand All @@ -633,10 +623,10 @@ jobs:
if ($name -ne "" -and $name -notmatch "^=") { [Environment]::SetEnvironmentVariable($name, $value, "Process") }
}
}

$products_dir = Join-Path (Get-Location) "Products"
$env:Path = "$products_dir;" + $env:Path

$exclude_regex = "${{ matrix.exclude_regex }}"
$env:CTEST_OUTPUT_ON_FAILURE = "1"

Expand All @@ -648,9 +638,9 @@ jobs:

"has_tests=true" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
Write-Host "Running excluded tests matching: $exclude_regex"

ctest -C ${{ env.BUILD_TYPE }} -R "$exclude_regex" --output-on-failure -j 1 -T test | Tee-Object -FilePath "excluded_tests.log"

$exit_code = $LASTEXITCODE
"exit_code=$exit_code" | Out-File -FilePath $env:GITHUB_OUTPUT -Append

Expand Down
Loading
Loading