Create and send artifacts as zip files
This MR adds support for creating and extracting ZIP caches and artifacts purely with Go. This makes it easy to use on other platforms (especially Windows) since no external dependencies are required.
Test builds:
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-linux-386
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-linux-amd64
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-linux-arm
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-darwin-386
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-darwin-amd64
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-windows-386.exe
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-windows-amd64.exe
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-freebsd-386
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-freebsd-amd64
- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/zip-artifacts/binaries/gitlab-ci-multi-runner-freebsd-arm
Closes: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/51 Resolves: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/901 https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/331