Commit Graph

47 Commits

Author SHA1 Message Date
Chris Packham
61cfe77831 CI: switch to macos-13 runners
GitHub has dropped support for macos-12.

https://github.com/actions/runner-images/issues/10721

We had problems with macos-14 when it was first rolled out. Lets give
macos-13 a try. We'll probably have to migrate to macos-14 or macos-15
eventually but hopefully we can leave that until after the ct-ng 1.27.0
release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2024-12-11 14:58:17 +13:00
Chris Packham
0d2e5c751b CI: Install meson and ninja for macOS
Meson and Ninja are used by picolibc. Explicitly install these tools
which we appear to have been getting by some transitive dependency up to
now.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2024-10-01 13:58:23 +13:00
Chris Packham
e58fd0a23e musl: Mark not EXPERIMENTAL
Musl was marked experimental in commit 08d91d41 ("musl: config is broken
for !EXPERIMENTAL"). Most of the reasoning for that change no longer
applies and as it's been about 8 years it's time to let musl loose on
the world. Drop the `depends on EXPERIMENTAL` and update the sample
configs for aarch64 and x86_64.

For powerpc64 the ABI needs to be elfv2. Enforce this via the powerpc
config.  Add a sample configuration for powerpc-unknown-linux-musl.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2024-05-24 10:14:13 +12:00
Nik Konyuchenko
1f8fae2615 Initial GCC 14.1.0 support
+ gcc 14 package version
+ tar.gz and tar.xz checksums
+ patches from gcc13 that can still be applied to gcc14

Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2024-05-18 15:45:55 +12:00
Chris Packham
b1433efd80 CI: pin macos runners to macos-12
macos-latest has recently (as of April 2024) started transitioning to
macos-14 (previously it was macos-12). This seems to be missing things
we rely on (e.g. makeinfo) and even when those are added throws other
errors.  For now lets pin things to macos-12 until someone can spend
some time looking at why we can't use macos-14.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2024-05-14 08:58:31 +12:00
Bryan Hundven
0ffe914322 Updates to github workflows to work with gh act
* Run `apt-get update` before installing packages, as the local VM may
  not have these packages already installed like the github.com runners
  do.
* Add bison, flex, and texinfo, as they may not already be on the local
  VM as they may be on the github.com runners.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2024-04-21 13:24:50 +12:00
WANG Rui
884db2ed47 loongarch64-linux-musl: add sample config
Add sample config for target loongarch64-unknown-linux-musl.

Signed-off-by: WANG Rui <wangrui@loongson.cn>
2024-03-11 17:28:53 +13:00
Chris Packham
68bba1aa64 CI: Disable canadian-cross build step
The canadian cross builds are hitting the disk space limit on the free
tier github runners. For now disable them.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2024-03-11 17:28:05 +13:00
Bryan Hundven
149916c8d2 Update action versions and more shellcheck fixes
Update action versions to latest.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2024-03-06 09:35:10 -08:00
Bryan Hundven
885748040b Fix homebrew path
Homebrew changed it's default install path from `/usr/local` to
`/opt/homebrew` a while back. Hardcoding the path is a bad idea, so
instead use `$(brew --prefix)` to get the prefix of the path for tools.

Also fix some [shellcheck](https://github.com/koalaman/shellcheck) issues.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2024-03-06 09:35:10 -08:00
Chris Packham
2697728761 Add aarch64-unknown-linux-musl sample
Adapted from the aarch64-unknown-linux-gnu sample enabling
CT_EXPERIMENTAL and selecting CT_LIBC_MUSL.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2024-03-06 09:24:29 +13:00
Chris Packham
cd0d14697d CI: Add sample for hppa-unknown-linux-gnu
Add sample for hppa/parisc and include in CI builds.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-11-25 15:41:47 +13:00
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