Skip to content

Commit 0bdb19a

Browse files
authored
docs: document release process (#258)
1 parent 8e7d575 commit 0bdb19a

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

README.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,69 @@ A configurable actor that can be used as a factory to create instances of
5555
tokens, based on [frc46_token](./frc46_token/README.md) and implemented
5656
[here](./testing/test_actors/actors/frc46_factory_token/)
5757

58+
## Release Process
59+
60+
This section documents the release process for actor-utils packages.
61+
62+
### Published Packages
63+
64+
The following packages are published to [crates.io](https://crates.io):
65+
66+
- **`fvm_actor_utils`** - Core utilities for FVM native actors
67+
- **`frc42_dispatch`** - Method dispatch macros and utilities
68+
- **`frc42_hasher`** - FRC-0042 method hashing utilities
69+
- **`frc42_macros`** - FRC-0042 procedural macros
70+
- **`frc46_token`** - Fungible token reference implementation
71+
- **`frc53_nft`** - Non-fungible token reference implementation
72+
- **`fvm_dispatch_tools`** - CLI utilities for method dispatch
73+
74+
#### Release Steps
75+
76+
1. **Version Bumping**
77+
```bash
78+
# Update version in package Cargo.toml
79+
# Update workspace dependencies in root Cargo.toml if needed
80+
```
81+
82+
2. **Pre-publish Validation**
83+
```bash
84+
# Check compilation
85+
cargo check -p <package-name>
86+
87+
# Dry run publish
88+
cargo publish --dry-run -p <package-name>
89+
```
90+
91+
3. **Publishing**
92+
```bash
93+
# Authenticate with crates.io
94+
cargo login <your-token>
95+
96+
# Publish in dependency order:
97+
# 1. frc42_hasher (base dependency)
98+
# 2. frc42_macros (depends on frc42_hasher)
99+
# 3. frc42_dispatch (depends on frc42_hasher and frc42_macros)
100+
# 4. fvm_actor_utils (depends on frc42_dispatch)
101+
# 5. frc46_token (depends on frc42_dispatch and fvm_actor_utils)
102+
# 6. frc53_nft (depends on frc42_dispatch and fvm_actor_utils)
103+
# 7. fvm_dispatch_tools (depends on frc42_dispatch)
104+
cargo publish -p <package-name>
105+
```
106+
107+
4. **Post-Release**
108+
```bash
109+
# Tag the release
110+
git tag <package-name>@<version>
111+
git push origin <package-name>@<version>
112+
```
113+
114+
#### Coordination Points
115+
116+
Note: before documenting the coordination points more, we should first see about simplifying this repo by potentially removing unused functionality and moving some of it into actors-utils itself. This is discussed in [issue #203](https://github.com/filecoin-project/actors-utils/issues/203).
117+
118+
- **FVM Releases**: TODO - Document coordination process with FVM releases
119+
- **Built-in Actors / Network Upgrade**: TODO - Document alignment with built-in actors and Network Upgrades
120+
58121
## License
59122

60123
Dual-licensed: [MIT](./LICENSE-MIT),

0 commit comments

Comments
 (0)