@@ -76,6 +76,46 @@ pub(crate) async fn build_tuf_repo(
76
76
}
77
77
}
78
78
79
+ let mut measurement_corpus = vec ! [ ] ;
80
+
81
+ for entry in std:: fs:: read_dir (
82
+ output_dir. join ( "hubris-staging" ) . join ( "measurement_corpus" ) ,
83
+ )
84
+ . context ( "failed to read `hubris-staging/measurement_corpus" ) ?
85
+ {
86
+ let entry = entry?;
87
+
88
+ let corim = rats_corim:: Corim :: from_file ( entry. path ( ) ) ?;
89
+
90
+ measurement_corpus. push ( DeserializedArtifactData {
91
+ name : format ! ( "staging-{}" , corim. id) ,
92
+ version : ArtifactVersion :: new ( corim. get_version ( ) ?. clone ( ) ) ?,
93
+ source : DeserializedArtifactSource :: File {
94
+ path : Utf8PathBuf :: from_path_buf ( entry. path ( ) ) . unwrap ( ) ,
95
+ } ,
96
+ } ) ;
97
+ }
98
+
99
+ for entry in std:: fs:: read_dir (
100
+ output_dir. join ( "hubris-production" ) . join ( "measurement_corpus" ) ,
101
+ )
102
+ . context ( "failed to read `hubris-production/measurement_corpus" ) ?
103
+ {
104
+ let entry = entry?;
105
+ let corim = rats_corim:: Corim :: from_file ( entry. path ( ) ) ?;
106
+ measurement_corpus. push ( DeserializedArtifactData {
107
+ name : format ! ( "production-{}" , corim. id) ,
108
+ version : ArtifactVersion :: new ( corim. get_version ( ) ?. clone ( ) ) ?,
109
+ source : DeserializedArtifactSource :: File {
110
+ path : Utf8PathBuf :: from_path_buf ( entry. path ( ) ) . unwrap ( ) ,
111
+ } ,
112
+ } ) ;
113
+ }
114
+
115
+ manifest
116
+ . artifacts
117
+ . insert ( KnownArtifactKind :: MeasurementCorpus , measurement_corpus) ;
118
+
79
119
// Add the OS images.
80
120
manifest. artifacts . insert (
81
121
KnownArtifactKind :: Host ,
@@ -115,6 +155,7 @@ pub(crate) async fn build_tuf_repo(
115
155
. join ( format ! ( "{}.tar.gz" , package) ) ,
116
156
} ) ;
117
157
}
158
+
118
159
manifest. artifacts . insert (
119
160
KnownArtifactKind :: ControlPlane ,
120
161
vec ! [ DeserializedArtifactData {
0 commit comments