[#23]:svarga:build, add H5CPP-style installers + single-header packages for v1.0.0#24
Merged
Conversation
…es for v1.0.0 Ship release artifacts, H5CPP style. plot is header-only and dependency-free, so the package payload is the amalgamated single header plot.hpp + LICENSE. - scripts/amalgamate.py generates a self-contained plot.hpp from include/plot/ (order read from the `all` umbrella; internal includes + #pragma once stripped). - CMakeLists: bump project to 1.0.0; add the plot-amalgamate target (built as part of ALL when Python 3 is present, gracefully skipped otherwise so the existing CI matrix can't break); install plot.hpp + LICENSE always; gate the full include tree + find_package config behind -DPLOT_INSTALL_FULL=ON (default). - CPack: DEB (Debian, Architecture=all), RPM (RedHat, noarch), NSIS (Windows), productbuild (macOS), plus TGZ + ZIP. Release builds set -DPLOT_INSTALL_FULL=OFF so packages contain only plot.hpp + LICENSE. - .github/workflows/package.yml: on tag v* and workflow_dispatch; builds every artifact across linux/macos/windows runners and uploads to the GitHub release (creates it, or --clobber to preserve a hand-edited body). - README: document the release packages and the single-header drop. Verified locally: amalgamated header compiles+renders standalone (no -Iinclude); DEB/TGZ/ZIP payloads are exactly usr/include/plot.hpp + usr/share/doc/plot/LICENSE; default build still passes ctest (5/5) and full-installs the tree + config + plot.hpp.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #23.
H5CPP-style release packaging. plot is header-only + dependency-free, so the package payload is the amalgamated single header
plot.hpp+ LICENSE.What ships
Architecture=all)plot-dev_1.0.0_all.debnoarch)plot-devel-1.0.0-1.noarch.rpmplot-v1.0.0-windows.exeplot-v1.0.0-darwin.pkgplot-v1.0.0-<os>.tar.gz/.zipHow
scripts/amalgamate.pygeneratesplot.hppfrominclude/plot/(order from theallumbrella; strips internal includes +#pragma once).1.0.0;plot-amalgamatetarget (ALL when Python3 present, else gracefully skipped so the existing CI matrix can't break);plot.hpp+ LICENSE installed always; full tree +find_package(plot)config gated behind-DPLOT_INSTALL_FULL=ON(default). Release builds pass-DPLOT_INSTALL_FULL=OFF⇒ single-header-only payload..github/workflows/package.yml: on tagv*+workflow_dispatch; builds all artifacts and uploads to the GitHub release (gh release create … --generate-notes, orupload --clobberif it already exists).Populating the existing v1.0.0 release
package.ymltriggers on futurev*tag pushes. To populate the existing v1.0.0 release now, run the workflow via Actions → Package → Run workflow with thev1.0.0tag selected as the ref — thepublishjob runs for tag refs and uploads with--clobber.Verification (local)
plot.hppcompiles + renders standalone (no-Iinclude).usr/include/plot.hpp+usr/share/doc/plot/LICENSE; DEB metadataplot-dev 1.0.0 all.ctest5/5; full install ships tree + cmake config +plot.hpp.package.ymlYAML validated.RPM/NSIS/productbuild are exercised in CI (no local rpmbuild/makensis).