The CI builds currently seem unhappy on macOS when we build make
ourselves. Install GNU make via brew so that we don't have to build it
ourselves.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Various configurations end up using these companion tools (particularly
those with GNU libc). Ensure we download these tools at the start of the
build.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Add a single job to download (most of) the tarballs required. This
should allow the CI job to fail early when various sources are off-line
and prevent us from unintentionally DDoSing sites that we rely on.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
sh-multilib-linux-gnu ends up building 8 different libcs. This seems to
be problematic for the github hosted runners as it appears to run them
out of disk space (anecdotally this seems to have gotten worse with the
switch from ubuntu-18.04 to ubuntu-20.04).
Build sh-unknown-elf instead to make sure we cover of the sh
architecture to some degree.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
As of today baremetal (AKA "Elf32") & Linux glibc toolchains are even
more important than Linux uClibc one for ARC, so adding them.
We exclude ARC Linux toolchains from Mac buils as it seem to not make
much sense and anyway glibc build for ARC700 fails,
see https://github.com/crosstool-ng/crosstool-ng/pull/1456#issuecomment-779150246
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Add building on MacOS X as part of the CI testing.
A few notes:
* We exclude mips64-unknown-linux-gnu as the linux kernel headers need
<byteswap.h> that is a GNU extension to build elf-entry.c and does
not exist on Mac OS X.
* We create a SPARSE image filesystem to ensure we have are doing the
builds in a case sensitive fs.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Add arc, mips64, riscv32, riscv64, s390, sh, sparc and xtensa builds to
CI job. Also add an arm-picolibc-eabi target.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
We get the build log via the artifact upload so having it in the action
output is redundant (it also tends to get suppressed anyway).
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Upload the config.log from building ct-ng as well as build.log and
.config from the toolchain builds.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The GitHub runners have most of the required packages installed already.
Only install the 3 extra that we need for ct-ng.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Create a continuous integration workflow that builds a few sample
configurations.
Future improvements would be to have a single job that builds ct-ng and
shares the artifacts with the matrix jobs for building the individual
toolchains. It would also be a good idea to fetch and cache the various
source tarballs.
Signed-off-by: Chris Packham <judge.packham@gmail.com>