near / near-one-project-tracking

A repository for tracking work items that NEAR One is working on.
0 stars 0 forks source link

[ProjectTracking] Publishing internal crates for external users #18

Open Ekleog-NEAR opened 9 months ago

Ekleog-NEAR commented 9 months ago

Goals

Background

Vlad split near-account-id off nearcore because our support for publishing internal crates for external users was bad.

Why should NEAR One work on this

By having a proper mechanism and process to publish internal crates for external users, we would both make external users much more happy, but also ourselves avoid having to deal with their requests related to releases.

What needs to be accomplished

We need to:

  1. Change our process to publish crates on each release
  2. Release our current crates
  3. Figure out how to best handle stable crates
  4. Make near-account-id follow the process defined in step 3, for stable crates

Main use case

External users, who rely on internal crates, are the main use case. Vlad would be able to add more details about who exactly are these external users.

Links to external documentations and discussions

The zulip thread discussing this

Estimated effort

@Ekleog-NEAR is expected to work on this project, due to being invested in our CI story. The estimated time is:

Assumptions

None

Pre-requisites

None

Out of scope

None

Task list

### Tasks
- [x] Change our process to publish crates on each release
- [x] Release our current crates
- [x] Figure out how to best handle stable crates
- [ ] Make near-account-id follow the process defined in step 3, for stable crates
Ekleog-NEAR commented 9 months ago

Step 1 is done, and step 2 was almost done but hit an issue related to limited replayability. @nagisa opened near/nearcore#10343 to fix it, so hopefully step 2 should be done soon.

Remaining estimate besides completing step 2: 1-3 weeks for steps 3-4 to figure out how to best deal with near-account-id

Ekleog-NEAR commented 9 months ago

As of today, step 2 is done 🎉

Next up is syncing with Vlad to get to a decision regarding how to best handle stable crates

Ekleog-NEAR commented 8 months ago

We agreed with Vlad that the best way forward for stable crates might be to keep them in (or, for near-account-id, move it back to) nearcore, but there are conditions on the ease of contribution for external contributors. We’re good already with our 24h review SLO, but still have a very slow CI that doesn’t make people want to contribute.

Currently, work is underway to improve CI for external contributors, as well as to slim down near-vm-runner and similar crates used by external users so that they don’t depend on literally all of nearcore.