@@ -18,58 +18,50 @@ Visit the
18
18
find the latest release version and associated container image tags.
19
19
20
20
For example, release ` 3.2.0-alpha1 ` provides updated container images and
21
- configuration files.
21
+ configuration files. You'll need:
22
22
23
- ## 2. Update GCR Links in Code
23
+ - The new version number (e.g., ` 3.2.0-alpha1 ` )
24
+ - The 8-character configuration hash from the release page
24
25
25
- Use ` git grep ` to find all Google Container Registry (GCR) references that need
26
- updating:
26
+ ## 2. Automated Update with Script
27
27
28
- ``` bash
29
- # Search for GCR image references
30
- git grep " gcr.io/o1labs-192920/mina-daemon"
28
+ OpenMina provides an automation script to handle the bulk of the update process:
31
29
32
- # Search for any mina-daemon references
33
- git grep " mina-daemon "
30
+ ``` bash
31
+ ./website/docs/developers/scripts/update-ocaml-node.sh < old_hash > < new_hash > < old_version > < new_version >
34
32
```
35
33
36
- Update the image tags in the found files to match the new release version.
37
- Typically this involves changing version strings in Docker Compose files,
38
- testing configurations, and CI workflows.
34
+ ** Example usage:**
39
35
40
- ## 3. Update Configuration Files
36
+ ``` bash
37
+ ./website/docs/developers/scripts/update-ocaml-node.sh 12345678 87654321 3.1.0 3.2.0-alpha1
38
+ ```
41
39
42
- Update the configuration file hash to match the new release. The config files
43
- with the pattern ` config_[8-character-hash] ` come from the OCaml node release
44
- and need to be referenced in the OpenMina codebase.
40
+ ** Parameters:**
45
41
46
- The configuration hash corresponds to the genesis state and network parameters
47
- for the specific release. You may need to:
42
+ - ` old_hash ` : Current 8-character config hash
43
+ - ` new_hash ` : New 8-character config hash from the release
44
+ - ` old_version ` : Current version (e.g., ` 3.1.0 ` )
45
+ - ` new_version ` : New version (e.g., ` 3.2.0-alpha1 ` )
48
46
49
- - Update references to the config filename in code to match the new hash
50
- - Download or reference the new config files from the OCaml node release
51
- - Verify the new configuration is compatible with OpenMina
47
+ The script automatically updates:
52
48
53
- ## 4. Example Workflow
49
+ - Configuration file references in testing code
50
+ - Docker image tags in CI workflows and compose files
51
+ - Version strings throughout the codebase
54
52
55
- Based on PR #1236 , a typical update involves:
53
+ ## 3. Manual Verification
54
+
55
+ After running the script, verify all references were updated correctly:
56
56
57
57
``` bash
58
- # 1. Find current references
58
+ # Search for any remaining old references
59
59
git grep " gcr.io/o1labs-192920/mina-daemon"
60
- git grep " 3\.1\.0" # Search for old version numbers
61
-
62
- # 2. Update image tags throughout the codebase
63
- # Replace old tags with new release version
64
-
65
- # 3. Search for config file references in code
66
- git grep " config_"
67
-
68
- # 4. Update any hardcoded version references
69
- git grep -i " mina.*3\.1\.0" # Example for version 3.1.0
60
+ git grep " config_<old_hash>"
61
+ git grep " <old_version>"
70
62
```
71
63
72
- ## 5 . Verification Steps
64
+ ## 4 . Verification Steps
73
65
74
66
After making updates:
75
67
@@ -80,7 +72,7 @@ After making updates:
80
72
with the updated OCaml node
81
73
5 . ** CI Pipeline** : Verify that automated testing passes with new versions
82
74
83
- ## 6 . Commit Structure
75
+ ## 5 . Commit Structure
84
76
85
77
Following the pattern from PR #1236 :
86
78
0 commit comments