Add Environment for GAMER on GitHub Action Runners #483
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About this PR
This pull request introduces the environment setup script and the machine configuration file for the GitHub-hosted GitHub Actions runners, making it easier for the CI pipeline to configure and compile GAMER on GitHub-hosted Actions runners.
Rationale
Changes
Environment setup for GitHub Actions
.github/install_gamer_env.shscript to automate the installation of the necessary dependencies (OpenMPI, HDF5, CUDA toolkit), print out the status of their installation, and configure machine-specific settings for GAMER on GitHub-hosted runners..github/workflows/copilot-setup-steps.ymlworkflow to automatically prepare the environment for Copilot Coding Agents by running the script above.Configuration for GitHub Actions runners
configs/github_action.configwith paths and compiler settings for GitHub-hosted Ubuntu runners, including CUDA, MPI, and HDF5 locations, as well as compiler flags.Usage
Example config for future CI.
Notes
This is the first PR in GAMER contributed by a robot!
See technic960183#3 for the record of tasks that contribute to this pull request.
Copilot Generate Test Report
Please check gamer-project#2 for the original test environment.
GAMER Environment Setup Test Report
Summary
✅ All tests passed successfully! The GAMER environment is properly configured and functional.
1D Shock Tube Tests (doc/wiki/Quick-Start-related/Quick-Start:-1D-Shock-Tube.md)
✅ Test 1: CPU-only without OpenMP
--openmp=false✅ Test 2: CPU-only with OpenMP
--openmp=true✅ Test 3: Hybrid OpenMP/GPU (compile only)
--openmp=true --gpu=true3D Blast Wave Tests (doc/wiki/Quick-Start-related/Quick-Start:-3D-Blast-Wave.md)
✅ Test 4: OpenMP/MPI/HDF5 (no GPU)
--openmp=true --gpu=false --mpi=true --hdf5=true✅ Test 5: OpenMP/GPU/MPI/HDF5 (compile only)
--openmp=true --gpu=true --mpi=true --hdf5=trueEnvironment Details
Dependencies Verified
/usr/bin/mpicxx)/usr/lib/x86_64-linux-gnu/hdf5/serial/usr/bin/nvccgithub_actionprofile configuredCompilation Flags
g++(serial) /mpicxx(MPI)-O2-fopenmpcompute_75,sm_75(Turing architecture)Conclusions
The GAMER environment is ready for production use in the GitHub Actions CI/CD pipeline.
Original prompt