Skip to content

Commit 6b65e1b

Browse files
committed
Add link to view recent workflows (unfortunately we don't get a workflow run id from the API)
1 parent 38fc478 commit 6b65e1b

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/loaders/gh_archive_loader.rs

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use std::task::Poll;
1414

1515
enum PipelineState {
1616
Loading,
17-
Triggered,
17+
Triggered { workflow_link: String },
1818
Error(anyhow::Error),
1919
}
2020

@@ -147,24 +147,32 @@ impl LoadSnapshots for GHArtifactLoader {
147147
.send(Event::PipelineState(PipelineState::Loading))
148148
.ok();
149149
hello_egui_utils::spawn(async move {
150+
let workflow_name = "update_kittest_snapshots.yml";
150151
let result = client
151152
.actions()
152153
.create_workflow_dispatch(
153-
artifact.repo.owner,
154-
artifact.repo.repo,
155-
"update_kittest_snapshots.yml",
156-
git_ref,
154+
artifact.repo.owner.clone(),
155+
artifact.repo.repo.clone(),
156+
workflow_name,
157+
git_ref.clone(),
157158
)
158159
.inputs(json!({
159160
"run_id": run_id.to_string(),
160161
}))
161162
.send()
162163
.await;
163164

165+
let workflow_link = format!(
166+
"https://github.com/{}/{}/actions/workflows/{workflow_name}",
167+
artifact.repo.owner, artifact.repo.repo
168+
);
169+
164170
match result {
165171
Ok(()) => {
166172
sender
167-
.send(Event::PipelineState(PipelineState::Triggered))
173+
.send(Event::PipelineState(PipelineState::Triggered {
174+
workflow_link,
175+
}))
168176
.ok();
169177
}
170178
Err(err) => {
@@ -180,8 +188,11 @@ impl LoadSnapshots for GHArtifactLoader {
180188
Some(PipelineState::Loading) => {
181189
ui.label("Triggering pipeline...");
182190
}
183-
Some(PipelineState::Triggered) => {
184-
ui.label("Pipeline triggered! Check the PR workflows for progress.");
191+
Some(PipelineState::Triggered { workflow_link }) => {
192+
ui.horizontal(|ui| {
193+
ui.label("Pipeline triggered!");
194+
ui.hyperlink_to("View workflows", workflow_link);
195+
});
185196
}
186197
Some(PipelineState::Error(err)) => {
187198
ui.colored_label(ui.visuals().error_fg_color, format!("Error: {err}"));

0 commit comments

Comments
 (0)