Skip to content

Implemented workspace support - #208

Closed
rasmus-kirk wants to merge 6 commits into
mainfrom
workspace-support
Closed

Implemented workspace support#208
rasmus-kirk wants to merge 6 commits into
mainfrom
workspace-support

Conversation

@rasmus-kirk

@rasmus-kirk rasmus-kirk commented Nov 23, 2025

Copy link
Copy Markdown
Contributor

Purpose

We want cargo-concordium to support workspaces.

  • Support building a crate in a workspace by navigating into the subcrate directory and running cargo-concordium build
  • Support reproducible builds in workspaces.
  • Support specifying profiles with a --profile flag
  • Changelog, documentation...

There's still two issues remaining:

  • Running cargo concordium test would fail when run in the workspace root, as the contract integration tests need to build the WASM first. I suggest refactoring and exposing the build function in this crate and then building the contract in the integration tests themselves, with the added bonus of making the integration tests part of rust's own testing ecosystem.
  • The reproducible builds listen to the rust-toolchain.toml file. Ideally, we would want it to ignore that and always use the provided configuration set by the docker environment. I don't know how to address this. There's been an open issue for the docker image without feedback for more than a year 💀 (I think we can maybe not include it in the archive, I'll test more)

Checklist

  • My code follows the style of this project.
  • The code compiles without warnings.
  • I have performed a self-review of the changes.
  • I have documented my code, in particular the intent of the
    hard-to-understand areas.
  • (If necessary) I have updated the CHANGELOG.

@rasmus-kirk rasmus-kirk mentioned this pull request Nov 23, 2025
5 tasks
@rasmus-kirk
rasmus-kirk marked this pull request as ready for review November 23, 2025 09:10

@limemloh limemloh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check that you can still verify a verifiable build from an older version of cargo-concordium with these changes.

Comment thread cargo-concordium/src/build.rs Outdated
Comment thread cargo-concordium/src/main.rs
Comment thread cargo-concordium/src/main.rs
Comment thread cargo-concordium/src/build.rs Outdated
Comment thread cargo-concordium/CHANGELOG.md Outdated
## Unreleased

- Support specifying a profile using the `--profile` flag.
- Support for workspaces.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add more detail to this, support for workspace is not saying much. Instead, describe what is now possible compared to before.

Comment thread cargo-concordium/src/build.rs Outdated
rasmus-kirk and others added 3 commits November 24, 2025 10:23
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