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

feat(ci): Publish binaries for noir-profiler #7443

Merged
merged 8 commits into from
Feb 20, 2025

Conversation

vezenovm
Copy link
Contributor

@vezenovm vezenovm commented Feb 19, 2025

Description

Problem*

Resolves #7162

Working towards #7438 but just for the noir-profiler.

Summary*

I added the noir-profiler to the publish-nargo job. I build the noir-profiler along with nargo, package its artifacts, and upload it. This is all done in a similar way to the existing nargo job.

Additional Context

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@vezenovm vezenovm marked this pull request as ready for review February 19, 2025 16:17
@vezenovm vezenovm requested a review from TomAFrench February 19, 2025 16:17
@TomAFrench
Copy link
Member

I was thinking that we can publish all of the binaries for a given OS/architecture in single tarball. This makes it easier for us to just unzip them all into the relevant directory when installing rather than needing to make N different network requests. (this is how foundry does it https://github.com/foundry-rs/foundry/releases/tag/stable)

We can keep a copy of the nargo binary separate as well for backwards compatibility.

@vezenovm
Copy link
Contributor Author

I was thinking that we can publish all of the binaries for a given OS/architecture in single tarball

I will switch to that. I wasn't sure if we wanted to keep a separate nargo binary for now.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 9407d13 Previous: d0d04e8 Ratio
rollup-block-root-single-tx 113 s 93.6 s 1.21

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 9407d13 Previous: d0d04e8 Ratio
AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_blob 62 s 51 s 1.22

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

@TomAFrench
Copy link
Member

The main switch is that I moved away to using tar -czf for packaging the artifacts.

Why did you made this switch?

@vezenovm
Copy link
Contributor Author

Why did you made this switch?

Mainly that I found it much more readable and simple. I was thinking that while 7z can provide more compression we are still using gzip so the performance should be similar.

I did a comparison just now for only the nargo binary:
tar -czf resulted in 14948270 bytes.
7z resulted in 14383145 bytes.

As 7z does result in a small binary (although not by much), I'll just switch it back.

Copy link
Member

@TomAFrench TomAFrench left a comment

Choose a reason for hiding this comment

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

LGTM

@TomAFrench TomAFrench added this pull request to the merge queue Feb 20, 2025
Merged via the queue into master with commit af5e4cd Feb 20, 2025
102 checks passed
@TomAFrench TomAFrench deleted the mv/publish-profiler-binaries branch February 20, 2025 17:55
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 20, 2025
chore: remove `disable_macros` compile option (noir-lang/noir#7468)
chore(ci): add workflow to automate bumping aztec-packages commit (noir-lang/noir#7465)
chore: Release Noir(1.0.0-beta.3) (noir-lang/noir#7346)
chore(ci): Missing dash in profiler command argument (noir-lang/noir#7467)
feat(experimental): show macro errors where they happen (noir-lang/noir#7333)
feat: optimize FieldElement::num_bits (noir-lang/noir#7147)
chore(profiler): Docs on profiler command and more complete error reporting (noir-lang/noir#7436)
feat(ci): Release noir-inspector in binaries (noir-lang/noir#7464)
chore(docs): Noir Profiler external documentation (noir-lang/noir#7457)
feat(ci): Publish binaries for noir-profiler (noir-lang/noir#7443)
chore: Copy #7387 docs into v1.0.0-beta.2 versioned_docs (noir-lang/noir#7458)
fix: prevent incorrect ACIRgen caused by noop truncations (noir-lang/noir#7456)
feat: add native `u128` type (noir-lang/noir#7301)
chore: standardize that doc comments on top of statements and expression are allowed but warn (noir-lang/noir#7450)
fix: don't let nargo fmt produce multiple trailing newlines (noir-lang/noir#7444)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 20, 2025
chore: remove `disable_macros` compile option (noir-lang/noir#7468)
chore(ci): add workflow to automate bumping aztec-packages commit (noir-lang/noir#7465)
chore: Release Noir(1.0.0-beta.3) (noir-lang/noir#7346)
chore(ci): Missing dash in profiler command argument (noir-lang/noir#7467)
feat(experimental): show macro errors where they happen (noir-lang/noir#7333)
feat: optimize FieldElement::num_bits (noir-lang/noir#7147)
chore(profiler): Docs on profiler command and more complete error reporting (noir-lang/noir#7436)
feat(ci): Release noir-inspector in binaries (noir-lang/noir#7464)
chore(docs): Noir Profiler external documentation (noir-lang/noir#7457)
feat(ci): Publish binaries for noir-profiler (noir-lang/noir#7443)
chore: Copy #7387 docs into v1.0.0-beta.2 versioned_docs (noir-lang/noir#7458)
fix: prevent incorrect ACIRgen caused by noop truncations (noir-lang/noir#7456)
feat: add native `u128` type (noir-lang/noir#7301)
chore: standardize that doc comments on top of statements and expression are allowed but warn (noir-lang/noir#7450)
fix: don't let nargo fmt produce multiple trailing newlines (noir-lang/noir#7444)
TomAFrench added a commit that referenced this pull request Feb 20, 2025
* master: (89 commits)
  chore: bump external pinned commits (#7472)
  chore: remove `disable_macros` compile option (#7468)
  chore(ci): add workflow to automate bumping aztec-packages commit (#7465)
  chore: Release Noir(1.0.0-beta.3) (#7346)
  chore(ci): Missing dash in profiler command argument (#7467)
  feat(experimental): show macro errors where they happen (#7333)
  feat: optimize FieldElement::num_bits (#7147)
  chore(profiler): Docs on profiler command and more complete error reporting (#7436)
  feat(ci): Release noir-inspector in binaries (#7464)
  chore(docs): Noir Profiler external documentation (#7457)
  feat(ci): Publish binaries for noir-profiler (#7443)
  chore: Copy #7387 docs into v1.0.0-beta.2 versioned_docs (#7458)
  fix: prevent incorrect ACIRgen caused by noop truncations (#7456)
  feat: add native `u128` type (#7301)
  chore: standardize that doc comments on top of statements and expression are allowed but warn (#7450)
  fix: don't let nargo fmt produce multiple trailing newlines (#7444)
  feat(cli): add noir-execute binary (#7384)
  chore!: make `ResolverError::OracleMarkedAsConstrained` into a full error (#7426)
  chore: simplify reports (#7421)
  fix: do not discard negative sign from field literals in comptime interpreter (#7439)
  ...
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 20, 2025
fix: don't panic when shifting too much (noir-lang/noir#7429)
chore: bump external pinned commits (noir-lang/noir#7472)
chore: remove `disable_macros` compile option (noir-lang/noir#7468)
chore(ci): add workflow to automate bumping aztec-packages commit (noir-lang/noir#7465)
chore: Release Noir(1.0.0-beta.3) (noir-lang/noir#7346)
chore(ci): Missing dash in profiler command argument (noir-lang/noir#7467)
feat(experimental): show macro errors where they happen (noir-lang/noir#7333)
feat: optimize FieldElement::num_bits (noir-lang/noir#7147)
chore(profiler): Docs on profiler command and more complete error reporting (noir-lang/noir#7436)
feat(ci): Release noir-inspector in binaries (noir-lang/noir#7464)
chore(docs): Noir Profiler external documentation (noir-lang/noir#7457)
feat(ci): Publish binaries for noir-profiler (noir-lang/noir#7443)
chore: Copy #7387 docs into v1.0.0-beta.2 versioned_docs (noir-lang/noir#7458)
fix: prevent incorrect ACIRgen caused by noop truncations (noir-lang/noir#7456)
feat: add native `u128` type (noir-lang/noir#7301)
chore: standardize that doc comments on top of statements and expression are allowed but warn (noir-lang/noir#7450)
fix: don't let nargo fmt produce multiple trailing newlines (noir-lang/noir#7444)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 21, 2025
fix: don't panic when shifting too much (noir-lang/noir#7429)
chore: bump external pinned commits (noir-lang/noir#7472)
chore: remove `disable_macros` compile option (noir-lang/noir#7468)
chore(ci): add workflow to automate bumping aztec-packages commit (noir-lang/noir#7465)
chore: Release Noir(1.0.0-beta.3) (noir-lang/noir#7346)
chore(ci): Missing dash in profiler command argument (noir-lang/noir#7467)
feat(experimental): show macro errors where they happen (noir-lang/noir#7333)
feat: optimize FieldElement::num_bits (noir-lang/noir#7147)
chore(profiler): Docs on profiler command and more complete error reporting (noir-lang/noir#7436)
feat(ci): Release noir-inspector in binaries (noir-lang/noir#7464)
chore(docs): Noir Profiler external documentation (noir-lang/noir#7457)
feat(ci): Publish binaries for noir-profiler (noir-lang/noir#7443)
chore: Copy #7387 docs into v1.0.0-beta.2 versioned_docs (noir-lang/noir#7458)
fix: prevent incorrect ACIRgen caused by noop truncations (noir-lang/noir#7456)
feat: add native `u128` type (noir-lang/noir#7301)
chore: standardize that doc comments on top of statements and expression are allowed but warn (noir-lang/noir#7450)
fix: don't let nargo fmt produce multiple trailing newlines (noir-lang/noir#7444)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 21, 2025
fix: don't panic when shifting too much (noir-lang/noir#7429)
chore: bump external pinned commits (noir-lang/noir#7472)
chore: remove `disable_macros` compile option (noir-lang/noir#7468)
chore(ci): add workflow to automate bumping aztec-packages commit (noir-lang/noir#7465)
chore: Release Noir(1.0.0-beta.3) (noir-lang/noir#7346)
chore(ci): Missing dash in profiler command argument (noir-lang/noir#7467)
feat(experimental): show macro errors where they happen (noir-lang/noir#7333)
feat: optimize FieldElement::num_bits (noir-lang/noir#7147)
chore(profiler): Docs on profiler command and more complete error reporting (noir-lang/noir#7436)
feat(ci): Release noir-inspector in binaries (noir-lang/noir#7464)
chore(docs): Noir Profiler external documentation (noir-lang/noir#7457)
feat(ci): Publish binaries for noir-profiler (noir-lang/noir#7443)
chore: Copy #7387 docs into v1.0.0-beta.2 versioned_docs (noir-lang/noir#7458)
fix: prevent incorrect ACIRgen caused by noop truncations (noir-lang/noir#7456)
feat: add native `u128` type (noir-lang/noir#7301)
chore: standardize that doc comments on top of statements and expression are allowed but warn (noir-lang/noir#7450)
fix: don't let nargo fmt produce multiple trailing newlines (noir-lang/noir#7444)
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 21, 2025
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: Sync from aztec-packages
(noir-lang/noir#7474)
fix: don't panic when shifting too much
(noir-lang/noir#7429)
chore: bump external pinned commits
(noir-lang/noir#7472)
chore: remove `disable_macros` compile option
(noir-lang/noir#7468)
chore(ci): add workflow to automate bumping aztec-packages commit
(noir-lang/noir#7465)
chore: Release Noir(1.0.0-beta.3)
(noir-lang/noir#7346)
chore(ci): Missing dash in profiler command argument
(noir-lang/noir#7467)
feat(experimental): show macro errors where they happen
(noir-lang/noir#7333)
feat: optimize FieldElement::num_bits
(noir-lang/noir#7147)
chore(profiler): Docs on profiler command and more complete error
reporting (noir-lang/noir#7436)
feat(ci): Release noir-inspector in binaries
(noir-lang/noir#7464)
chore(docs): Noir Profiler external documentation
(noir-lang/noir#7457)
feat(ci): Publish binaries for noir-profiler
(noir-lang/noir#7443)
chore: Copy #7387 docs into v1.0.0-beta.2 versioned_docs
(noir-lang/noir#7458)
fix: prevent incorrect ACIRgen caused by noop truncations
(noir-lang/noir#7456)
feat: add native `u128` type
(noir-lang/noir#7301)
chore: standardize that doc comments on top of statements and expression
are allowed but warn (noir-lang/noir#7450)
fix: don't let nargo fmt produce multiple trailing newlines
(noir-lang/noir#7444)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <[email protected]>
AztecBot added a commit to AztecProtocol/aztec-nr that referenced this pull request Feb 22, 2025
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: Sync from aztec-packages
(noir-lang/noir#7474)
fix: don't panic when shifting too much
(noir-lang/noir#7429)
chore: bump external pinned commits
(noir-lang/noir#7472)
chore: remove `disable_macros` compile option
(noir-lang/noir#7468)
chore(ci): add workflow to automate bumping aztec-packages commit
(noir-lang/noir#7465)
chore: Release Noir(1.0.0-beta.3)
(noir-lang/noir#7346)
chore(ci): Missing dash in profiler command argument
(noir-lang/noir#7467)
feat(experimental): show macro errors where they happen
(noir-lang/noir#7333)
feat: optimize FieldElement::num_bits
(noir-lang/noir#7147)
chore(profiler): Docs on profiler command and more complete error
reporting (noir-lang/noir#7436)
feat(ci): Release noir-inspector in binaries
(noir-lang/noir#7464)
chore(docs): Noir Profiler external documentation
(noir-lang/noir#7457)
feat(ci): Publish binaries for noir-profiler
(noir-lang/noir#7443)
chore: Copy #7387 docs into v1.0.0-beta.2 versioned_docs
(noir-lang/noir#7458)
fix: prevent incorrect ACIRgen caused by noop truncations
(noir-lang/noir#7456)
feat: add native `u128` type
(noir-lang/noir#7301)
chore: standardize that doc comments on top of statements and expression
are allowed but warn (noir-lang/noir#7450)
fix: don't let nargo fmt produce multiple trailing newlines
(noir-lang/noir#7444)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <[email protected]>
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.

Add noir-profiler binaries to releases
2 participants