12 Commits
Author SHA1 Message Date
Magne Sjaastad 1342e0987a Update GitHub workflows to Python 3.13 2026-10-23 16:26:23 +02:00
Magne Sjaastad bc71762be2 Rebuild buildcache from scratch in nightly CI runs 2026-10-21 07:24:28 +02:00
Magne Sjaastad fc6dfb9697 Never save partial vcpkg caches in CI
Replace the vcpkg-cache action, whose post step saves even when the job fails or is cancelled, with actions/cache/restore and a save step that only runs after a successful configure.
2026-10-15 18:00:47 +02:00
Magne Sjaastad edbb0a437b CI: Build vcpkg dependencies release-only in every workflow
vcpkg builds every port in both debug and release unless VCPKG_BUILD_TYPE says
otherwise, and that variable is only read from the triplet file. The workflows
that already pass -DVCPKG_TARGET_TRIPLET/-DVCPKG_HOST_TRIPLET pointing at a
*-release triplet (ResInsightWithCache, rhel8-unit-tests, rhel8-package,
Dockerfile.rhel8) therefore skip the debug half; the remaining three did not.

clang-tidy and clazy-report passed no triplet at all and so used the plain
x64-linux triplet, building every port twice. Both only need
compile_commands.json, so the debug half was pure cost -- and it was the debug
build that failed in the ubuntu-26.04 runs: the snappy error surfaced at
"Building x64-linux-dbg", before the release half was even attempted.

ResInsightMac passed -DVCPKG_BUILD_TYPE=release on the top-level CMake command
line, which has no effect on the ports vcpkg builds, so both macOS legs were
also building debug dependencies. Replace it with the triplet pair and add
x64-osx-release and arm64-osx-release, following the existing convention of
keeping a separate release triplet rather than folding VCPKG_BUILD_TYPE into
the shared overlay so local developer builds keep their debug dependencies.
The new triplets differ from x64-osx/arm64-osx only by
set(VCPKG_BUILD_TYPE release).

Verified that each of the seven cmake invocations using the vcpkg toolchain now
sets both triplet variables, that all four *-release triplets parse and resolve
to VCPKG_BUILD_TYPE=release, and that installing a port with x64-linux-release
builds only "x64-linux-release-rel" with no debug tree.

Also correct the overlay-ports path quoted in a Dockerfile.rhel8 comment, which
the previous commit narrowed to the thrift port directory.
2026-09-29 14:14:51 +02:00
Magne Sjaastad c6c5ff5808 #14584 Move ResInsight-tests out of the shared build root
ResInsight-tests linked into the build root and copied its full runtime DLL
set there as a POST_BUILD step, the same pattern that made
extract-projectfile-versions race against the generated_classes.py edge. The
set is a superset of the one that failed, covering Qt6Gui, Qt6Widgets and the
rest, and nothing orders it against the code generation edge either. It fires
rarely only because copy_if_different compares content, so windeployqt having
already placed identical DLLs makes it a no-op. On a cold build where the copy
wins that race it genuinely writes.

Give the target its own RUNTIME_OUTPUT_DIRECTORY, and point the companion
PreBuildFileCopyTest target at the same directory so the ODB, OpenVDS and HDF5
runtime files stay next to the executable. That target runs before the link
creates the directory, so create it first.

Update the three workflows that run the test executable by path.
2026-08-22 11:50:55 +02:00
Magne Sjaastad 77885391a5 Mac: Add support for both ARM and Intel binaries
* #1009 macOS: add native Intel (x86_64) build alongside arm64

The macOS workflow only built on the arm64 runner (macos-15), producing
an Apple Silicon-only artifact that could not launch on Intel Macs.

Turn the single build job into a matrix that also builds natively on
GitHub's Intel runner (macos-15-intel), uploading a separate
ResInsight-macOS-x64 artifact next to ResInsight-macOS-arm64. All cache
keys (buildcache tool, buildcache contents, vcpkg) are qualified by
architecture so the two legs cache independently, and fail-fast is
disabled so a broken Intel leg never withholds the arm64 artifact.

The Intel leg uses a 13.3 deployment target: Apple's libc++ only ships
the <format> / std::to_chars(float) runtime symbols from macOS 13.3, and
the code (e.g. custom-surfio) uses std::format on floating-point values,
so a lower target fails to compile. 13.3 stays well below the runner's
macOS 15 SDK, keeping older Intel Macs supported.

release-draft.yml now downloads both macOS artifacts via a glob so each
architecture is attached to the draft release as its own zip.
2026-07-24 11:28:45 +02:00
dependabot[bot] 676f4d2bd9 Bump actions/cache from 5 to 6
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 18:13:49 +02:00
dependabot[bot] d18a69eb3e Bump actions/setup-python from 6 to 7
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 18:12:05 +02:00
dependabot[bot] 3e126ee091 Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 14:13:54 +02:00
Magne Sjaastad 602415e86d Run Mac build workflow when a tag is created 2026-06-16 11:50:56 +02:00
Magne Sjaastad 8ad0fb7b7e #14045 CI: Limit macOS workflow to workflow_dispatch and schedule triggers 2026-06-01 12:55:22 +02:00
Magne Sjaastad 022d77bef8 macOS: Initial Apple Silicon and x86_64 build support
* Refactor: add MACOSX_BUNDLE option to qt_add_executable in multiple CMakeLists.txt files
* #14045 macOS: Guard std::stacktrace usage and skip ucontext on Apple platforms
* #14045 macOS: Guard std::ispanstream with std::istringstream fallback
* #14045 macOS: Add vcpkg overlay triplets for osx and exclude grpc on osx
* #14045 macOS: CMake macOS build support and openzgy OpenMP-disable patch
* #14045 CI: Add macOS build workflow
* #14045 macOS: Use feature-test macros to detect <stacktrace> and <spanstream>
* #14045 macOS: Make MAX_STIMPLAN_LAYERS constexpr to fix arm64 link error
* #14045 CI: Ship README-macOS.txt with artifact to document Gatekeeper workaround
* #14045 CI: Pin macOS runner to macos-14 and set deployment target to 14.0
* #14045 CI: Move macOS runner to macos-15 and fix README step on configure failure
2026-06-01 12:38:55 +02:00