Skip to content

Add workflow to test CMake builds against installed sc, p4est, and ThunderEgg#1

Draft
Copilot wants to merge 5 commits intodevelopfrom
copilot/add-github-workflow-cmake-build
Draft

Add workflow to test CMake builds against installed sc, p4est, and ThunderEgg#1
Copilot wants to merge 5 commits intodevelopfrom
copilot/add-github-workflow-cmake-build

Conversation

Copy link

Copilot AI commented Nov 19, 2025

Adds CI workflow to verify forestclaw builds correctly against pre-installed sc, p4est, and ThunderEgg dependencies from submodules, rather than using them as subdirectories.

Changes

  • New workflow .github/workflows/ci_cmake_installed.yml that:
    • Builds and installs sc from submodule with configurable MPI support
    • Builds and installs p4est from submodule using installed sc (P4EST_USE_SYSTEM_SC=ON)
    • Builds and installs ThunderEgg from submodule with MPI and FFTW support (conditionally when enabled)
    • Builds forestclaw with FCLAW_ENABLE_SUBMODULES=OFF to consume installed libraries
  • Tests 5 Linux configurations (serial/MPI, with/without clawpack, with ThunderEgg)
  • Tests macOS-27 builds with clawpack, geoclaw, and thunderegg enabled
  • Includes explicit permissions: contents: read for security

Build flow

# sc build propagates MPI config from matrix
cmake -B build -DSC_ENABLE_MPI=${{ contains(matrix.configure_flags, '-Dmpi=ON') && 'ON' || 'OFF' }}

# p4est uses installed sc
cmake -B build -DP4EST_USE_SYSTEM_SC=ON -Dmpi=...

# thunderegg (conditionally built when -Dthunderegg=ON)
cmake -B build -Dmpi=ON -Dfftw=ON -Dp4est=OFF

# forestclaw discovers installed dependencies via CMAKE_PREFIX_PATH
cmake --preset ci -Dsubmodules=OFF ${{ matrix.configure_flags }}

This validates the install/find_package workflow for packaging scenarios.

Created from VS Code via the GitHub Pull Request extension.

Created from VS Code via the GitHub Pull Request extension.

Original prompt

add a github workflow that test a CMake build with an installed version of sc and p4est. It should use the sc and p4est submodule.

Created from VS Code via the GitHub Pull Request extension.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits November 19, 2025 19:56
Co-authored-by: scottaiton <8593806+scottaiton@users.noreply.github.com>
Co-authored-by: scottaiton <8593806+scottaiton@users.noreply.github.com>
Copilot AI changed the title [WIP] Add GitHub workflow for CMake build testing with sc and p4est Add workflow to test CMake builds against installed sc and p4est Nov 19, 2025
Copilot AI requested a review from scottaiton November 19, 2025 20:01
@scottaiton
Copy link
Owner

@copilot It should test an installed version of thunderegg also

Co-authored-by: scottaiton <8593806+scottaiton@users.noreply.github.com>
Copy link
Author

Copilot AI commented Nov 19, 2025

@copilot It should test an installed version of thunderegg also

Added ThunderEgg support to the workflow. The workflow now:

  • Builds and installs ThunderEgg from the submodule (with MPI and FFTW)
  • Includes a new "MPI With ThunderEgg" test configuration on Linux
  • Enables ThunderEgg on macOS builds

Changes in commit 3a9badc.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Add workflow to test CMake builds against installed sc and p4est Add workflow to test CMake builds against installed sc, p4est, and ThunderEgg Nov 19, 2025
@scottaiton
Copy link
Owner

@copilot change the macos job to run on macos 27

Co-authored-by: scottaiton <8593806+scottaiton@users.noreply.github.com>
Copy link
Author

Copilot AI commented Nov 19, 2025

@copilot change the macos job to run on macos 27

Changed the macOS job to run on macos-27.

Changes in commit 8fae745.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants