From 3b311571c92da4be6908c7b7d32b1b46b7224926 Mon Sep 17 00:00:00 2001 From: iximeow Date: Tue, 27 Jun 2023 01:48:16 -0700 Subject: [driver] basic tools to track steps as reported by runners --- src/ci_runner.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/ci_runner.rs') diff --git a/src/ci_runner.rs b/src/ci_runner.rs index f78fdbc..a83866d 100644 --- a/src/ci_runner.rs +++ b/src/ci_runner.rs @@ -44,6 +44,7 @@ impl RequestedJob { RunningJob { job: self, client, + current_step: StepTracker::new(), } } } @@ -75,6 +76,35 @@ impl JobEnv { pub struct RunningJob { job: RequestedJob, client: RunnerClient, + current_step: StepTracker, +} + +pub struct StepTracker { + scopes: Vec +} + +impl StepTracker { + pub fn new() -> Self { + StepTracker { + scopes: Vec::new() + } + } + + pub fn push(&mut self, name: String) { + self.scopes.push(name); + } + + pub fn pop(&mut self) { + self.scopes.pop(); + } + + pub fn clear(&mut self) { + self.scopes.clear(); + } + + pub fn full_step_path(&self) -> &[String] { + self.scopes.as_slice() + } } impl RunningJob { -- cgit v1.1