sccache/scripts
Mike Hommey 64ed0c1267 Move remainder of the CI to Github Actions
This includes:
- Building in release mode for all release platforms on all PRs and
  merges/pushes.
- Publishing release assets on tags.

The extra benefit here is that the release assets are not pushed unless
all builds are successful, which was not the case before, leading to
0.2.13 without Windows binaries. We also make it necessary for all tests
and lints to pass.

Another benefit is that builds now have artifacts published, allowing
to download them for some period of time after they were produced on
a PR or on master.

The setup for musl-based builds suffers on arm64 from not being able to
build natively (per lack of arm64 runners), and from Ubuntu not having
musl-cross packages, so it requires a little manual (hackish)
cross-compilation work.

The Linux builds can safely be done on a newer version of the base
system as we are using the musl runtime, and compile openssl statically,
preventing any dependency on symbols from too new systems, ensuring
binary compatibility with older systems.

The macOS builds were done against Xcode 9.4 (the default on Travis),
which targets macOS 10.13. The 10.13 SDK is not available on Github
Actions, but we can set the deployment target to that value while using
the 10.14 SDK from Xcode 10.3 for binary compatibility. In theory, we
should be able to use an even newer Xcode/SDK, but I'd rather not risk
it at this point.

The Windows builds should have no binary compatibility issues.
2021-01-06 07:58:24 +09:00
..
extratest.sh Add tests, remove unwraps, fix bugs, auto https 2018-11-21 16:49:14 -05:00