Skip to content

Conversation

@levicook
Copy link
Owner

🌟 Ecosystem Packages

This introduces ecosystem packages - pre-built ELF exports for popular Solana programs. No more building from source, just add the dependency and go!

[dependencies]
elf-magic-solana-spl-token = "3.4.0"
use elf_magic_solana_spl_token::{SPL_TOKEN_PROGRAM_ELF, SPL_TOKEN_P_TOKEN_ELF};
let program_id = deploy_program(SPL_TOKEN_PROGRAM_ELF)?;

Introduces pre-built ELF exports for popular Solana programs, eliminating
build time and dependencies for common use cases.

Core Features:
- Ecosystem packages with git submodule-based versioning
- Enhanced configuration supporting custom constants/targets
- Automated release workflow (local prep + GitHub CI)
- Pre-built SPL Token program (standard + Pinocchio optimized)

Architecture Improvements:
- Refactored SolanaProgram with configurable constant names
- Enhanced workspace discovery with path resolution
- Moved program deduplication to dedicated module
- Added comprehensive test coverage for new features

Breaking Changes:
- SolanaProgram.constant_name() removed (now a field)
- load_workspaces() signature changed (added config_file_dir param)

Documentation:
- User-focused ecosystem package docs
- Updated README with ecosystem table
- Comprehensive release automation guide
@levicook levicook self-assigned this Jun 27, 2025
Move from local preparation + CI approach to maintainer-controlled + CI validation:

- Replace ecosystem-prepare.sh with manual maintainer workflow
- Add comprehensive CI utilities: parse-tag, install-solana, create-github-release
- Simplify GitHub workflows by extracting logic to Makefile targets
- Remove temp-env testing dependency and unused features
- Add integration tests requirement for ecosystem packages
- Update documentation with step-by-step release guide
- Fix submodule checkout in release workflows

This change gives maintainers full control over file changes while keeping
robust CI validation and publication automation.
@levicook levicook marked this pull request as ready for review June 27, 2025 05:31
@levicook levicook merged commit cb5abec into main Jun 27, 2025
1 check passed
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