DevHub Grant: Development Environment Containerization #3
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.
Development Environment Grant - Summary of Work
Overview:
Exciting progress has been made in enhancing the NEAR development environment to streamline the development and deployment of Rust smart contracts. This initiative aims to reduce barriers for new developers and improve the overall efficiency of the system. The focal point of this enhancement is the creation of a .devcontainer configuration in NEAR repositories, offering essential tools for convenient online and remote IDE editing and deployment of NEAR Rust smart contracts.
Key Contributions:
Devcontainer Features:
cargo-near
andnear-cli-rs
- simplifying the installation of the corresponding packages.devcontainers-community
organization.Devcontainer Configuration:
cargo-near
,near-cli
, LLVM, Rust, Docker-in-Docker for SourceScan, Git, and additional utilities.init.sh
) for pre-caching the NEAR protocol contract builder Docker container, ensuring reproducible builds with minimal wait times.Optimizations and Prebuilds:
Implementation of prebuilds on the main branch for swift image boot-up, reducing bootup time to less than a minute.
Recommendations for project maintainers to configure prebuild settings:
Note: The same can be done on any fork, in case many codespaces starts are expected
Usage Guide:
Conclusion:
This pull request represents the culmination of efforts to significantly enhance the NEAR development environment, offering a robust foundation for Rust smart contract development. The comprehensive devcontainer configuration, optimizations, and prebuilds contribute to a seamless experience for both new and experienced developers. The usage guide ensures a smooth onboarding process, making NEAR Rust development more accessible and efficient for contributors.
Requesting review from @frol.