Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 2.12 KB

File metadata and controls

47 lines (34 loc) · 2.12 KB

cairo-coverage Maintenance

Maintenance Procedure

To maintain cairo-coverage effectively, ensure compatibility with the latest versions of Scarb and Starknet Foundry.

Compatibility Checks

Historically, breakages often occur due to updates in Scarb, as Foundry includes its own tests for Scarb and trace generation. When a new version of Scarb is released, verify that cairo-coverage remains compatible by updating the CI configuration. You can reference this PR for an example of how to implement these checks.

Troubleshooting

If the tests for a new scarb version fail, the issue is usually related to CASM compilation. To resolve this:

Upgrade the cairo-lang dependencies to the latest version. If this fixes the issue, release a new version of cairo-coverage with support for the latest Cairo compiler.

Release Procedure

To release a new version of cairo-coverage, follow these steps:

Note: It is recommended to run benchmarks before releasing to ensure that the new version does not introduce any performance regressions. You can refer to the benchmarking documentation for instructions on how to run benchmarks

  1. Prepare a Pull Request (PR):

    • Ensure the correct version is updated in the following files:
      • Cargo.toml
      • Cargo.lock
      • CHANGELOG.md
    • As a reference, you can check this PR.
  2. Run the Release Action:

    • Trigger the release workflow from the branch you want to release.
    • It is recommended to run this from the main branch.
    • Ensure that the commit you are releasing from has passed CI checks, as this is not automatically verified.
    • The workflow will create a tag, generate a new GitHub release with built binaries, and include the contents of CHANGELOG.md.
  3. Announce the Release:

    • Notify the community about the update on Twitter, Telegram, and Discord.