@@ -131,51 +131,56 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
131
131
132
132
// Cleanup old rust builder artifacts, they don't get garbage collected by Harbor because all of them are tagged
133
133
// Only keep the "latest" manifest and its referenced artifacts
134
- let latest_rust_builder_manifest_list: Artifact = reqwest:: Client :: new ( )
135
- . get ( format ! (
136
- "{}/projects/sdp/repositories/ubi8-rust-builder/artifacts/latest" ,
134
+
135
+ for ubi_version in & [ "ubi8" , "ubi9" ] {
136
+ let latest_rust_builder_manifest_list: Artifact = reqwest:: Client :: new ( )
137
+ . get ( format ! (
138
+ "{}/projects/sdp/repositories/{}-rust-builder/artifacts/latest" ,
139
+ base_url,
140
+ ubi_version
141
+ ) )
142
+ . send ( )
143
+ . await ?
144
+ . json ( )
145
+ . await ?;
146
+
147
+ let referenced_digests = latest_rust_builder_manifest_list
148
+ . references
149
+ . unwrap ( )
150
+ . into_iter ( )
151
+ . map ( |reference| reference. child_digest )
152
+ . collect :: < Vec < String > > ( ) ;
153
+
154
+ let rust_builder_artifacts: Vec < Artifact > = reqwest:: get ( format ! (
155
+ "{}/projects/sdp/repositories/{}-rust-builder/artifacts?page_size=100" ,
137
156
base_url,
157
+ ubi_version
138
158
) )
139
- . send ( )
140
159
. await ?
141
160
. json ( )
142
161
. await ?;
143
162
144
- let referenced_digests = latest_rust_builder_manifest_list
145
- . references
146
- . unwrap ( )
147
- . into_iter ( )
148
- . map ( |reference| reference. child_digest )
149
- . collect :: < Vec < String > > ( ) ;
150
-
151
- let rust_builder_artifacts: Vec < Artifact > = reqwest:: get ( format ! (
152
- "{}/projects/sdp/repositories/ubi8-rust-builder/artifacts?page_size=100" ,
153
- base_url
154
- ) )
155
- . await ?
156
- . json ( )
157
- . await ?;
158
-
159
- for artifact in rust_builder_artifacts {
160
- // Keep "latest" and its referenced artifacts
161
- if artifact. digest != latest_rust_builder_manifest_list. digest
162
- && !referenced_digests. contains ( & artifact. digest )
163
- {
164
- println ! (
165
- "Removing dangling rust builder artifact {}" ,
166
- artifact. digest
167
- ) ;
168
- reqwest:: Client :: new ( )
169
- . delete ( format ! (
170
- "{}/projects/sdp/repositories/ubi8-rust-builder/artifacts/{}" ,
171
- base_url, artifact. digest
172
- ) )
173
- . basic_auth (
174
- "robot$stackable-cleanup" ,
175
- env:: var ( "HARBOR_ROBOT_PASSWORD" ) . ok ( ) ,
176
- )
177
- . send ( )
178
- . await ?;
163
+ for artifact in rust_builder_artifacts {
164
+ // Keep "latest" and its referenced artifacts
165
+ if artifact. digest != latest_rust_builder_manifest_list. digest
166
+ && !referenced_digests. contains ( & artifact. digest )
167
+ {
168
+ println ! (
169
+ "Removing dangling rust builder artifact {}" ,
170
+ artifact. digest
171
+ ) ;
172
+ reqwest:: Client :: new ( )
173
+ . delete ( format ! (
174
+ "{}/projects/sdp/repositories/{}-rust-builder/artifacts/{}" ,
175
+ base_url, ubi_version, artifact. digest,
176
+ ) )
177
+ . basic_auth (
178
+ "robot$stackable-cleanup" ,
179
+ env:: var ( "HARBOR_ROBOT_PASSWORD" ) . ok ( ) ,
180
+ )
181
+ . send ( )
182
+ . await ?;
183
+ }
179
184
}
180
185
}
181
186
0 commit comments