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

Make clarinet release process more reliable #1346

Open
9 of 23 tasks
hugocaillard opened this issue Feb 1, 2024 · 0 comments
Open
9 of 23 tasks

Make clarinet release process more reliable #1346

hugocaillard opened this issue Feb 1, 2024 · 0 comments
Labels

Comments

@hugocaillard
Copy link
Collaborator

hugocaillard commented Feb 1, 2024

Context

The release process currently 1) is very manual, 2) is lacking in automated testing, and 3) can be broken by stacks-core dependencies.

Clarinet needs to be released more frequently (once every 1 or 2 weeks) in order to stay up to date with the latest changes happening in stacks-core and clarity-wasm.

Clarinet is a monorepo that includes multiple components that need to be released on multiple platforms:

  • clarinet (the cli - built and published with the CI)
  • stacks-devnet-js (published on NPM via CI)
  • clarity-sdk (manually published on NPM)
  • vscode extension (manually published on open vsx and vscode marketplace)
  • a few packages manually published on crates.io (clarinet-files, clarinet-deployments, stacks-rpc-client)

Tasks

The release process needs to be easier and more reliable. This in an epic issues listing the different actions that can be taken to make it happen

  • Discuss the release workflow
    • Do we need the develop and the main branches or could we only keep main?
    • Simplify the version update process (which is error prone today)
  • CI rework
    • Run stacks-devnet-js build on every target for every PR chore: update dependencies #1340
    • Isolate CI for each components for better maintanibility
      • clarinet-cli (disabled for now but avaialble) ci: clarinet cli revamp #1104
      • stacks-devnet-js
      • clarity-sdk
        • We should at least check that it does build on every PR
        • And run unit tests
        • Automated release
      • vscode extension
  • Fix vscode extension tests
  • improve external dependencies management
    • on the stacks-core CI, add a check for the clarity build targeting wasm
    • better dependencies management between stacks-core, clarity-wasm, chainhook, clarinet
  • Code quality
    • Enforce clippy check on CI
    • Fix recent clippy warning (,o warning were introduced with rust 1.75.0 and above)
  • More tests
    • unit tests
    • e2e tests, some part of the release playbook can be automated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 📋 Backlog
Development

No branches or pull requests

2 participants