Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gitlab CI collapsible sections use unique section header name. #3787

Closed
fliespl opened this issue Mar 8, 2024 · 1 comment · Fixed by #3817
Closed

Gitlab CI collapsible sections use unique section header name. #3787

fliespl opened this issue Mar 8, 2024 · 1 comment · Fixed by #3817

Comments

@fliespl
Copy link
Contributor

fliespl commented Mar 8, 2024

Currently script uses unix timestamp ($start) as both start time + section name (same goes for section_end - using $start).

This causes collision within multiple tasks running in the same second cause it's used by gitlab for grouping.

           $this->output->writeln("\e[0Ksection_start:{$start}:{$start}[collapsed=true]\r\e[0K{$task->getName()}");
           $this->output->writeln("\e[0Ksection_end:{$endTime}:{$start}\r\e[0K");

I think better solution is to use slug of task name:

           $this->output->writeln("\e[0Ksection_start:{$start}:{$slug}[collapsed=true]\r\e[0K{$task->getName()}");
           $this->output->writeln("\e[0Ksection_end:{$endTime}:{$slug}\r\e[0K");

or to be more "unique" - combination of task name slug + startTime:

           $this->output->writeln("\e[0Ksection_start:{$start}:{$slug}_{$start}[collapsed=true]\r\e[0K{$task->getName()}");
           $this->output->writeln("\e[0Ksection_end:{$endTime}:{$slug}_{$start}\r\e[0K");
@mbrodala
Copy link
Contributor

Or make use of e.g. uniqid()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants