I notice that when I use the cygwin install action, I don't see a cache file getting created. I believe this means that every time I run my CI/CD, it is downloading a fresh set of files from Cygwin or one of its mirrors.
There's nothing wrong with that, of course, but, if cygwin is worried about bandwidth usage, you could add some download caching like how the msys2/setup-msys2@v2 action does.
Sorry, but, I don't understand it well enough to offer a patch.