Skip to content

Add ids to workflow steps - #102

Closed
armanbilge wants to merge 1 commit into
typelevel:series/0.4from
armanbilge:topic/step-ids
Closed

Add ids to workflow steps#102
armanbilge wants to merge 1 commit into
typelevel:series/0.4from
armanbilge:topic/step-ids

Conversation

@armanbilge

Copy link
Copy Markdown
Member

This is part of the effort to provide a stable API. Some projects need to filter or otherwise identify steps in the workflow. But I'd also like to retain the freedom to change the exact commands that are used in these steps in patch releases (e.g., we may want to define and use a new command alias that keeps the step semantically equivalent but fixes/optimizes some issue).

I'll follow-up with some documentation explaining that the step ids will be stable, but the other contents of the step should not be relied upon.

@rossabaker

Copy link
Copy Markdown
Member

Those steps as stable are starting to remind me of Maven phases, for better and worse.

Is this a firm commitment to keep the multiple steps, and pay the SBT startup cost between them?

@armanbilge

armanbilge commented Jan 26, 2022

Copy link
Copy Markdown
Member Author

Is this a firm commitment to keep the multiple steps, and pay the SBT startup cost between them?

Yes, I suppose it is 🤔 I liked this model specifically because it supports this sort of introspection. But I'm open to other ideas about this.

To help mitigate the sbt startup cost while supporting introspection, perhaps we could implement an "optimizing compiler" (optionally enabled/disabled) that attempts to combine consecutive sbt steps in the workflow into a single workflow step. Edit: actually, this seems impossible to do while guarantee correctness, since sbt is stateful.

@armanbilge

Copy link
Copy Markdown
Member Author

Eh, scratch this PR. A more typeful approach would be to define a List[WorkflowStep] setting for each step. Then, users can easily prepend/append around this step or completely remove it by setting to Nil. This seems better.

@armanbilge armanbilge added this to the v0.5.0 milestone Jan 28, 2022
@armanbilge
armanbilge marked this pull request as draft January 29, 2022 02:07
@armanbilge

Copy link
Copy Markdown
Member Author

I think #275 probably supersedes this PR. It provides a way to easily remove certain steps from CI without baking in the assumption that we will "keep the multiple steps, and pay the SBT startup cost between them".

In any case this is an old PR, and probably not happening.

@armanbilge armanbilge closed this May 17, 2022
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 this pull request may close these issues.

2 participants