Skip to content
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

Add note about binaries list. #1181

Merged
merged 1 commit into from
Mar 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions MAINTAINING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ You might need to swiftly pause the [Website Deploy] workflow to prevent publish
> Make sure `scarb-metadata` crate is [released and published](#scarb-metadata-release-procedure) to [crates.io].
> Only [StarkNet Crates.io Admins] can do this.

> [!IMPORTANT]
> If you add or remove a binary target compiled with the release (i.e. create or remove a crate in `extensions` directory),
> make sure to work with the Homebrew team to upgrade their
> [Scarb installation formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/s/scarb.rb#L26).

### Write release notes

Upon completion, the [Release] workflow should draft a release on GitHub.
Expand Down
9 changes: 9 additions & 0 deletions xtask/src/list_binaries.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@ pub fn main(_: Args) -> Result<()> {
Ok(())
}

/// List all the binaries that should be compiled with Scarb release.
///
/// This includes both the Scarb itself, and all the extensions defined in creates
/// in the `extensions` directory.
///
/// Note that some external dependencies might still define this list statically in their build scripts.
/// One example would be the Homebrew installation formula for scarb.
/// See: `<https://github.com/Homebrew/homebrew-core/blob/master/Formula/s/scarb.rb#L26>`
/// Such dependencies need to be updated manually each time the list of binaries changes.
pub fn list_binaries() -> Result<Vec<String>> {
let mut bins = vec!["scarb".to_string()];
for entry in fs::read_dir("extensions")? {
Expand Down
Loading