Skip to content

Conversation

@andreynering
Copy link
Member

@andreynering andreynering commented Aug 7, 2025

TODO:

  • Wait for Go v1.25 launch, because we support the latest two Go major versions and this requires Go 1.24
  • Update documentation to mention the TASK_CORE_UTILS env setting
  • Update FAQ page to mention how to handle core utils
  • Write blog post

This PR makes Task start using some core utils from the u-root project so we can have a much improved compability on Windows.

Although it should work most of the time, it's important to know that there might be small implementation differences between GNU or macOS core utils and these Go-implemented ones. Because of this, I decided to only enable it by default on Windows for now, but you can still control that:

  • If a TASK_CORE_UTILS is set to either 0 (disabled) or 1 (enabled), this will be respected no matter the operating system.
  • Otherwise, it is enabled by default on Windows but not on the other operating system.
  • When not enabled, it simply means it will use the system core utils if available, or fail otherwise.

Available core utils More can be added with time):

  • base64
  • cat
  • chmod
  • cp
  • find
  • gzip
  • ls
  • mkdir
  • mktemp
  • mv
  • rm
  • shasum
  • tar
  • touch
  • xargs

@andreynering andreynering self-assigned this Aug 7, 2025
@andreynering andreynering added os: windows Issues that affect users on Windows. dep: mvdan/sh Issues related to the upstream interpreter used by Task. area: exec Changes related to the execution of commands. labels Aug 7, 2025
@fgimian
Copy link

fgimian commented Aug 24, 2025

Go 1.25.0 is out now. 🚀

@andreynering andreynering marked this pull request as ready for review August 27, 2025 01:25
@andreynering andreynering requested review from pd93 and vmaerten August 27, 2025 01:25
@andreynering
Copy link
Member Author

This is now ready to Go.

I made the env shorter, just TASK_CORE_UTILS.

I wrote a blog post which can be previewed on this link.

@fgimian
Copy link

fgimian commented Aug 27, 2025

Super excited about this being merged and released, thank you so much @andreynering!!! 😄

Copy link
Member

@pd93 pd93 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing work! So good to finally see this land 🚀

Copy link
Member

@vmaerten vmaerten left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Finally 🚀
I’ve left some questions.

@vmaerten vmaerten self-requested a review August 27, 2025 13:20
@andreynering andreynering merged commit 725600f into main Aug 27, 2025
14 of 25 checks passed
@andreynering andreynering deleted the coreutils branch August 27, 2025 14:29
andreynering added a commit that referenced this pull request Aug 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: exec Changes related to the execution of commands. dep: mvdan/sh Issues related to the upstream interpreter used by Task. os: windows Issues that affect users on Windows.

Projects

None yet

5 participants