-
Notifications
You must be signed in to change notification settings - Fork 16
Fix binary distribution workflow: use make dist on host #138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
- Add autoconf, automake, libtool, and python3 dependencies - Run autogen.sh to generate configure script - Use make binary-dist instead of calling build_binary_dist.sh directly - Update artifact path to build/qmckl-*-linux-x86_64.tar.gz - Remove unnecessary make install step Co-authored-by: scemama <[email protected]>
- Run 'make dist' on host machine to create source distribution - Extract tarball inside Docker container for building - Remove autoconf, automake, libtool, python3, cmake from Docker deps - Simplifies Docker build process by using pre-packaged dist Co-authored-by: scemama <[email protected]>
|
@copilot Can you run the workflow to test it? |
Co-authored-by: scemama <[email protected]>
- Install emacs, autoconf, libhdf5, BLAS, LAPACK on Ubuntu host - Clone and install TREXIO library from source - This allows ./configure to succeed when creating dist tarball Co-authored-by: scemama <[email protected]>
I've triggered the workflow by adding a temporary branch trigger. The workflow is now running automatically on each push to this PR branch. The first attempt failed because TREXIO library wasn't installed on the host. I've now added steps to install TREXIO and all dependencies (emacs, autoconf, libhdf5, BLAS, LAPACK) following the pattern from the HPC workflow. The latest workflow run (commit 5f37cec) is waiting for approval at: https://github.com/TREX-CoE/qmckl/actions/runs/20272483412 Once approved, it should successfully create the distribution tarball and build the binary package in Rocky Linux 8 with Intel MKL. |
|
@copilot You should also |
- Create TREXIO distribution tarball on host with make dist - Copy TREXIO tarball for use in Docker container - Build TREXIO from tarball inside Docker (no emacs needed) - Remove emacs from host dependencies - Keep QMCkl --disable-doc flag Co-authored-by: scemama <[email protected]>
Done in commit 1656891. The workflow now:
QMCkl continues to use |
|
@copilot On the host: Please, replicate the environment used in other workflows, like HPC |
- QMCkl uses literate programming with org-mode files - autogen.sh requires emacs to tangle org files into source code - Match HPC workflow environment with emacs installed Co-authored-by: scemama <[email protected]>
|
@copilot In the docker, you also need to install hdf5 serial for trexio to work |
- TREXIO requires HDF5 library to build - Install hdf5-devel in Rocky Linux 8 container Co-authored-by: scemama <[email protected]>
Plan to fix binary distribution build
.github/workflows/binary-linux.ymlmake diston hostChanges Made:
First Iteration:
autoconf,automake,libtool, andpython3packages needed byautogen.sh./autogen.shstep to generate the configure scriptmake binary-distwhich sets all required environment variablesSecond Iteration (Simplified Approach):
./autogen.sh,./configure, andmake diston Ubuntu hostThird Iteration (Testing):
Fourth Iteration (Fix Dependencies):
./configurecan succeed because all dependencies are availableFifth Iteration (Optimize TREXIO):
make distfor TREXIO on the hostSixth Iteration (Fix emacs requirement):
Seventh Iteration (Add HDF5 to Docker):
The workflow now:
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.