Skip to content

Enhance build process and caching for crypto dependencies#5060

Draft
Frozen wants to merge 10 commits into
devfrom
feature/ci-crypto-deps-build-bootstrap
Draft

Enhance build process and caching for crypto dependencies#5060
Frozen wants to merge 10 commits into
devfrom
feature/ci-crypto-deps-build-bootstrap

Conversation

@Frozen

@Frozen Frozen commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

This pull request refactors and streamlines the build process for cryptographic dependencies (mcl and bls) in the Harmony project. It introduces a reusable GitHub composite action and a supporting build script, consolidates dependency builds under new Makefile targets, and updates CI workflows for improved caching and efficiency.

Build and Dependency Management Improvements:

  • Added a new composite GitHub Action (.github/actions/build-crypto-deps/action.yml) to cache and build mcl and bls dependencies, with configurable paths and build options.
  • Introduced the scripts/build_crypto_deps.sh script to unify and parameterize the build steps for mcl and bls, supporting both static and shared builds.
  • Updated the Makefile to add new targets: deps, deps-static, and build, which leverage the new script for dependency management and clarify the build process. [1] [2] [3]

CI Workflow Enhancements:

  • Refactored ci-pr.yaml to use the new build-crypto-deps action instead of manual make commands for mcl and bls, incorporating multi-arch runner support, arch-specific artifact naming, and improved artifact handling from the base branch. [1] [2]
  • Replaced ci-tag.yaml and ci.yaml with the consolidated ci-release.yaml introduced in the base branch, applying the build-crypto-deps action and switching to make linux_static_quick for faster release builds. [1] [2]
  • Updated Linux build steps in CI workflows to use make linux_static_quick instead of make linux_static for faster builds. [1] [2]

Other:

  • Minor cleanup in workflow files (removal of trailing lines). [1] [2]

These changes make the build system more modular, maintainable, and efficient, especially in CI environments.

@Frozen

Frozen commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator Author

@copilot resolve the merge conflicts in this pull request

Copilot AI commented Jun 30, 2026

Copy link
Copy Markdown

@copilot resolve the merge conflicts in this pull request

Merge conflicts have been resolved in commit 3f63ad5:

  • ci-pr.yaml: Kept the build-crypto-deps composite action from this PR while integrating dev's multi-arch support, arch-specific artifact naming, and original checker scripts (travis_rpc_checker.sh, travis_pyhmy_checker.sh).
  • ci-tag.yaml and ci.yaml: Deleted — dev consolidated these into the new ci-release.yaml.
  • ci-release.yaml: Applied this PR's improvements: added the build-crypto-deps action and switched from linux_static to linux_static_quick.

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