* CI: Add macOS, Windows and Linux arm64 support * Modify arm64 job name to be inline with the others * linter: Prevent cache from causing "Cannot open: File exists" issues * Use setup-go and setup-node's inbuilt caching