179 Commits
Author SHA1 Message Date
Martin Storsjö 0ab70b67d8 github: Remove ignores for failing ffmpeg tests
These no longer fail; they were fixed in ffmpeg in commit
76b33704b628248d77ed61cbef9ecd9430a4b6c5 in July 2022; we currently
test a pinned 6.0 release, where this fix is included.
2023-04-19 23:18:17 +03:00
Martin Storsjö b495c39a6d github: Use less specific filenames in the ffmpeg test jobs
This reduces the differences if using a proper release tarball
instead of an artifact from an earlier step (if testing parts of
the workflow by modifying it).
2023-04-19 23:18:17 +03:00
Martin Storsjö 5264f99ade github: Stop setting PYTHON_EXECUTABLE in the openmp test job
This shouldn't be necessary any longer since commit
40079637569f999015eaf3f7e137a63b2c8ade92 in llvm-project (in
December 2022).
2023-04-11 11:06:43 +03:00
Martin Storsjö 8189893403 github: Update a comment about the openmp test job
We're now on 16.x, and the tests do pass, but we still skip running
these tests on regular pushes - we only do them for the scheduled
nightly builds.
2023-04-11 11:06:43 +03:00
Martin Storsjö c1d6c39d33 Revert "github: Disable building lldb-mi in the scheduled cross builds"
This reverts commit 1b216b6fdf.

It's now compatible with current llvm versions.
2023-04-11 00:08:38 +03:00
Martin Storsjö 9e612d76f9 github: Stop setting LIBCXX_TARGET_INFO for the libcxx test setup
This variable is no longer needed/used.
2023-03-10 20:05:47 +02:00
Martin Storsjö 04ec21bea7 github: Run tests with the ffmpeg 6.0 release instead of 5.1.2 2023-03-09 13:54:10 +02:00
Martin Storsjö 22790a89f4 github: Don't run builds for tags, only pushes to branches
There's no need to rerun all the builds when pushing a tag.
2023-02-10 23:56:30 +02:00
Martin Storsjö c49460aa86 github: Add setup for running libcxx's tests on the built toolchain
Keep this disabled by default (since it takes a fair amount of time
and has good test coverage upstream), but including it in disabled
form so that it's easy to enable temporarily for testing occasionally.

Libcxx does test the mingw configuration in their own CI (with an older
pinned release of the compiler), so this is mostly redundant, and
primarily relevant for testing that the very latest compiler (and
python setup) works for the tests.
2023-01-29 01:13:39 +02:00
Alvin Wong ce554e93c5 Revert "Enable CFGuard for scheduled builds which uses latest llvm and mingw-w64"
This reverts commit e76e935c7d.

This is no longer necessary, since the default currently is to
enable CFGuard.
2023-01-29 01:09:17 +02:00
Martin Storsjö 6a37ec900b github: Test building and running the OpenMP tests on Windows
These tests should pass with the latest version from git (but
don't pass with the current pinned 15.0.0 version).
2022-11-29 22:40:47 +02:00
Martin Storsjö 01597c1d72 github: Include the version file in the cross-built toolchains too 2022-11-14 00:26:44 +02:00
Martin Storsjö a5a6488198 github: Test a known-good version of ffmpeg
The latest version in git might have some tests failing occasionally
(like it does currently).
2022-11-07 23:10:21 +02:00
Martin Storsjö e16ba0772f run-tests: Split out building and running of tests into a Makefile
This allows building and running the tests in parallel.
2022-10-29 23:22:56 +03:00
Martin Storsjö a7130b4396 github: Set a ulimit timeout when cross-building ffmpeg 2022-10-29 23:07:43 +03:00
Martin Storsjö 9750d128ad Revert "github: Update the environment used for doing msys2 builds"
This reverts commit 55db22d242.

The base tarball for setup-msys2 should now be new enough to
include the patched compiler in the clang64 environment, so this
no longer requires updating the environment on each build.
2022-10-27 22:17:04 +03:00
Martin Storsjö 53e803c424 github: Update use of actions/checkout and actions/upload-artifact from v2 to v3
The use of actions/download-artifact was already at v3.

This should avoid warnings about use of Node 12 which now is
deprecated.
2022-10-21 18:00:20 +03:00
Martin Storsjö dcd92f6146 github: Print the chosen versions in the get-versions job
They are printed in the later jobs that use them already though,
but print them here too, for clarity.
2022-10-04 11:51:22 +03:00
Alvin Wong e76e935c7d Enable CFGuard for scheduled builds which uses latest llvm and mingw-w64 2022-10-01 13:25:52 +03:00
Martin Storsjö b78082449e github: Run the lldb smoke tests as part of the test-toolchain stage
Run this for both i686 and x86_64, as we only test lldb with the
native architecture of the lldb executable (which is assumed to
be the same as the default architecture of the clang executable).
2022-09-17 00:20:52 +03:00
Martin Storsjö 263431c101 github: Fix a comment in a printed message
This was missed in 982e43d9c3.
2022-09-12 10:38:23 +03:00
Martin Storsjö 55db22d242 github: Update the environment used for doing msys2 builds
This should get a patched host compiler for the clang64 environment,
supporting symbol visibility, avoiding exporting too many symbols
from the dylibs.

For the mingw64 build (with GCC, which doesn't support symbol
visibility on Windows), the number of exported symbols
seems to be slightly lower, so we don't hit the limit of exported
symbols quite yet.
2022-09-02 11:38:26 +03:00
Martin Storsjö b6dd40540d github: Install the diffutils package when building on msys2
The configure script of winpthreads tries to execute the "cmp"
command (pulled in via the libtool macros), visible as errors in
the build logs. (The issue doesn't seem to make any practical
difference though.)
2022-09-02 11:34:26 +03:00
Martin Storsjö 982e43d9c3 github: Build two linux toolchains, one with and one without assertions, in scheduled builds
Use the one without assertions for cross-building toolchains, as the
one with assertions is too slow. In practice, one or more of the cross
toolchain builds end up timing out (exceeding the 6 h limit) almost
every day in the scheduled builds, requiring reruns (sometimes
multiple reruns) to complete successfully in time.

(There seems to be a big variation in what actual runner the jobs
end up using; some runners complete the cross builds in around 4 h,
while some are much slower, and seem to require 5-6 hours or more.)

In practice, during the 2 months that I've had scheduled jobs
running on Github Actions, there haven't been any failed asserts
triggered and caught in the cross builds (but once in the cross builds
of ffmpeg, which still keep using a toolchain with asserts enabled).
2022-08-24 13:24:52 +03:00
Martin Storsjö 1b216b6fdf github: Disable building lldb-mi in the scheduled cross builds
Latest git llvm-project has switched to requiring C++17, while
lldb-mi still is built in C++14 mode. This makes the scheduled builds
fail. Therefore, disable building lldb-mi for now in the scheduled
builds, until this has been fixed in the latest git main versions
of lldb-mi.
2022-08-12 00:51:56 +03:00
Martin Storsjö badbd89806 github: Disable zstd in the macos github actions build
Zstd is available and gets autodetected, but it's only available in
native form, not in arm64 form.

Also, for the existing workaround, instead of entirely disabling lldb,
one could pass -DLLDB_ENABLE_PYTHON=OFF instead.
2022-07-21 21:52:22 +03:00
Martin Storsjö 98f3380bec build-python: Bump to cpython-mingw 3.10.5
This is the version that msys2 currently ships.
2022-06-19 23:10:14 +03:00
Martin Storsjö ca2bc90bf3 github: Fix a typo in the workflows file 2022-06-18 23:05:04 +03:00
Martin Storsjö 24b8efd236 Add GitHub Actions builds
Test building the toolchain on all supported platforms for building
it (linux, macOS, msys2). Produce cross-built standalone toolchains
that run on Windows for all 4 supported architectures.

Run scheduled builds (daily), built with the latest git versions of
most components. For scheduled builds, the linux toolchain is built
with assertions enabled, as latest git version of llvm occasionally
can have regressions, and many such are caught by having assertions
enabled and building enough code that exercise many code generation
cases.
2022-06-16 10:36:10 +03:00