Thanks for this feedback! We’re always working to improve GitHub and the GitHub Community Forum, and we consider every suggestion we receive. I’ve logged your feature request in our internal feature request list. Though I can’t guarantee anything or share a timeline for this, I can tell you that it’s been shared with the appropriate teams for consideration.
I ran into another case where a function like this would have been useful.
I’ve got a work flow that uses a matrix strategy to pick a Docker container to run in via container: ${{ matrix.image }}. So far so good.
I then wanted to add a step to collect logs into an artifact if the build or tests failed. As each parallel job would be writing log files with the same name, I need to use unique artifact names:
Unfortunately the docker image names have colons in them, which the upload-artifact action rejects as an artifact name. So being able to do something like ${{ replace(matrix.image, ':', '-') }} would have been quite useful here.
I realise I have other options here, such as writing a step that generates an appropriate output parameter using sed. I just thought I’d mention this as another use case for this feature request.