Commit Graph

35 Commits

Author SHA1 Message Date
Quentin Boswank
cf6b1740a1 Add more caching to the CI
more specificaly to the tarballs download. The function CT_Fetch now
touches the already existing files to be comparable to the not used ones
that can araise when a package is updated.
This comparsion is needed because if it would not exist the tarball
would grow in size due to not used but still cached packages.
This would take time but is definitly something to worry about.

Signed-off-by: Quentin Boswank <qubos@outlook.de>
2023-10-04 16:12:23 +13:00
Chris Packham
35676f3a2c CI: build glibc toolchains without debug symbols
Disable CT_GLIBC_ENABLE_DEBUG to hopefully make the toolchains use less
disk-space on the free-tier github action runners.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-08-10 14:01:58 +12:00
Chris Packham
c0135a1dce CI: Use arm-picolibc-default instead of arm-picolibc-eabi
arm-picolibc-eabi builds many multilib combinations which causes the
free tier github action runners to run out of disk space. Use
arm-picolibc-default instead so there is still some coverage of picolibc
in CI.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-06-13 11:27:51 +12:00
Bryan Hundven
a83feaa3c0 Minor yaml cleanup
This doesn't require running all the pipelines so...
[skip ci]

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2023-03-14 08:56:50 +13:00
Chris Packham
247f1f86cd CI: Exclude macos,arm-picolibc-eabi combination
The arm-picolibc-eabi build runs out of space on the macos makers
because of all the multilib permutations. For now disable the
macos,arm-picolibc-eabi combination until we can think of something
better.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-03-14 08:49:56 +13:00
Chris Packham
f0ab9bb851 CI: Use ${{ matrix.sample }} when uploading artifacts
Update some hard coded names to use ${{ matrix.sample }} instead. This
will allow us to upload other artifacts in the future.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-02-13 19:36:27 +13:00
Chris Packham
d13c526f73 CI: Disable python support in GDB on macos
There appears to be a problem with GDB+Python+MacOS

  Error: [ERROR]    configure: error: no usable python found at /usr/local/bin/python3
  Error:     make[2]: *** [Makefile:11454: configure-gdb] Error 1
  Error:     make[1]: *** [Makefile:1030: all] Error 2

For now disable CT_GDB_CROSS_PYTHON on macos.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-12-04 16:01:54 +13:00
Bryan Hundven
7622b490a3 Bump ubuntu to ubuntu-22.04
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-10-27 21:28:42 +13:00
Chris Packham
cf9beb1e4f CI: Update action versions
https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

Update to v3 version of affected actions.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-10-18 17:28:51 +13:00
Jiajie Chen
38377d3c8d loongarch64: add sample config
Add sample config for target loongarch64-unknown-linux-gnu.

Currently, it fails to build on macOS due to flex/bison incompatibility.

Signed-off-by: Jiajie Chen <c@jia.je>
2022-08-19 22:01:34 +12:00
Chris Packham
cc58f592ae CI: Update to macos-latest
Update the CI actions from macos-10.15 to macos-latest.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-28 17:39:59 +12:00
Chris Packham
320710f2a9 CI: Install meson and ninja when building
Add meson and ninja-build to the prerequisites so we actually build
picolibc.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-27 20:17:23 +12:00
Chris Packham
0100c9b218 CI: Add fetch mingw sources
Add x86_64-w64-mingw32 to the list of samples we use to fetch sources.
This should pick up the mingw related tarballs so the build steps that
follow don't have to.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-27 20:16:48 +12:00
Artem Panfilov
a21748bd53 CI: add Canadian Cross build job
Signed-off-by: Artem Panfilov <artemp@synopsys.com>
2022-02-20 20:41:31 +13:00
Artem Panfilov
e1a654eb93 CI: sort sample lines ascending order
Signed-off-by: Artem Panfilov <artemp@synopsys.com>
2022-02-20 20:41:31 +13:00
Artem Panfilov
5ea8f0f524 CI: auto reformat YAML
Signed-off-by: Artem Panfilov <artemp@synopsys.com>
2022-02-20 20:41:31 +13:00
Chris Packham
8d296762d6 CI: Add mingw32 samples
Add i686-w64-mingw32 and x86_64-w64-mingw32 to the targets built for CI.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-11-22 21:15:31 +13:00
Chris Packham
95130d134e CI: install the latest GNU make on macOS
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>
2021-11-14 20:10:54 +13:00
Chris Packham
cf53d3736f Merge branch 'comp-tools' of https://github.com/cpackham/crosstool-ng
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-24 20:16:30 +12:00
Chris Packham
6fae696131 Add mips-unknown-linux-gnu sample
We have unkown-elf and linux-uclibc already. Complete the set with a
linux-gnu configuration.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-24 08:46:35 +12:00
Chris Packham
578871ddfc CI: Download bison, m4 and make
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>
2021-08-23 19:09:44 +12:00
Chris Packham
4a6408cc24 CI: Add avr target
Add avr to list of samples to build.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-03 21:37:28 +12:00
Chris Packham
8c002db141 CI: download tarballs
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>
2021-06-20 13:41:47 +12:00
Chris Packham
0630e41d69 CI: build sh-unknown-elf instead of sh-multilib-linux-gnu
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>
2021-03-25 16:16:25 +13:00
Chris Packham
d2adb0b805 CI: add arm-unknown-linux-musleabi configuration
Add a configuration that includes musl libc.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-03-09 21:03:23 +13:00
Alexey Brodkin
4cbc768747 CI: Add miltilibbed Elf32 & glibc configs for ARC
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>
2021-02-16 22:17:25 +03:00
Kumar Gala
9afeab2ccc CI: Add MacOS X builds to CI testing
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>
2020-11-11 13:47:28 -06:00
Chris Packham
b0ca9b8ca7 CI: Replace add-path command
The add-path and set-env commands are being deprecated[1]. Replace the
one instance of add-path in the CI workflow with the recommended
alternative[2].

[1] - https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
[2] - https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#adding-a-system-path

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-11-10 21:10:31 +13:00
Chris Packham
4dd65a18a3 CI: Add armv6-nommu-linux-uclibcgnueabi
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-11-01 21:11:29 +13:00
Chris Packham
de11b479f7 CI: Add more architectures
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>
2020-09-14 20:55:49 +12:00
Chris Packham
d2b23f9807 CI: Don't enable verbose output
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>
2020-09-14 20:55:49 +12:00
Chris Packham
d9791f4fcb CI: Build ct-ng once
Build ct-ng once and use the result to build the toolchains.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-08-24 22:13:55 +12:00
Chris Packham
d52c897a71 CI: upload build logs as artifacts
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>
2020-08-24 20:18:44 +12:00
Chris Packham
0a4bed1a92 CI: Only install packages not already present
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>
2020-08-24 20:18:44 +12:00
Chris Packham
0b096f4164 CI: Create continuous-integration-workflow.yml
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>
2020-08-24 20:18:44 +12:00