sbt / sbt-github-actions

An sbt plugin which makes it easier to build with GitHub Actions
Apache License 2.0
194 stars 59 forks source link

Make clean respect githubWorkflowOSes #167

Closed mdedetrich closed 12 months ago

mdedetrich commented 1 year ago

Resolves: https://github.com/sbt/sbt-github-actions/issues/159

This PR makes it so that the clean.yml uses the head value in githubWorkflowOSes allowing the clean step to run in environments that only have windows (typically hosted environments and/or projects that only target windows) by putting windows as the first entry in githubWorkflowOSes.

Thankfully github actions already provides a bash/nix environment under Windows so only a couple of modifications were needed to make the clean.yml script to run on Windows. Unfortunately testing that this script actually runs* on a Windows CI is a difficult because you would not only have to merge this PR first to see if it passes but you would also have to change the target of https://github.com/sbt/sbt-github-actions/blob/main/build.sbt#L24 which is not desirable.

Instead to test that this PR works, I made a completely separate repo at https://github.com/mdedetrich/test-sbt-github-actions and added a commit so we can at least see that the clean.yml is running under Windows.

The result can be seen at https://github.com/mdedetrich/test-sbt-github-actions/actions/runs/6350853600 and as you can see it appears to be working fine however @djspiewak if you have time I would look at the changes, particularly https://github.com/sbt/sbt-github-actions/pull/167#discussion_r1341239027 since you wrote the original clean.yml just to make sure I didn't miss anything.

mdedetrich commented 1 year ago

Currently blocked by https://github.com/supplypike/setup-bin/issues/319 This is a red herring

mdedetrich commented 12 months ago

@eed3si9n Do you by any chance have time to look into this?

mdedetrich commented 12 months ago

Okay I am going to go ahead and merge this and then cut a release for v0.18.0 just to get any feedback incase there is a regression (not expecting any though).