summaryrefslogtreecommitdiff
path: root/Meta/Azure
AgeCommit message (Collapse)Author
2023-03-11CI: Remove stale dependence on Toolchain.yml from nightly jobAndrew Kaster
We removed this file in 0a7d0362eaf08cec03e648c08d4d5fca84668ae5 but forgot to update the nightly job.
2023-03-10Ladybird+CI: Move layout_test.sh test runner from CI yml into CMakeAndrew Kaster
We should be able to run this locally, as long as ENABLE_LAGOM_LADYBIRD is true, or if building ladybird from the ladybird source directory. This removes a special case from the Lagom CI yml file.
2023-02-24CI: Make sure to brew update in macOS Azure setupAndrew Kaster
This picks up any upstream brew changes that haven't been pulled into the default Azure VMs. For example, the ffmpeg dependency of qt is currently broken in the 8 day old brew commit they are using.
2023-02-09Revert "Meta: Automatically select best apt mirror"Timothy Flynn
This reverts commit b0606d90f0da2fd2651768d1e250a692e3c92abf. This seems to prevent libegl-mesa0 from being installed (which for some reason isn't failing the Azure jobs - the failure seen later is that ccache is not installed).
2023-02-07Meta: Automatically select best apt mirrorMacDue
This is an attempt to avoid issues with the azure ubuntu apt mirror by using apt-spy2 to select the best mirror before installing dependencies.
2023-02-02Meta+CI: Disable Ladybird for fuzzer, compiler explorer and AndroidAndrew Kaster
And move it after the declaration of headless-browser, since WebDriver depends on headless-browser.
2023-02-01CI: Move running LibWeb layout tests to AzureTimothy Flynn
The current config on GitHub Actions does not use ccache, so it takes quite a while to build. Instead, let's just run these tests on Azure where we already build Ladybird and have ccache enabled. This also lets us sanitize LibWeb on both Linux and macOS. The script changes here are to A) handle differences between Azure and GitHub Actions and B) to support running on macOS.
2022-12-28CI: Remove extraneous toolchain job from Azure CITimothy Flynn
This was useful when building both i686 and x86_64 SerenityOS targets as we could use a single toolchain build for both targets. But now all this extra job does is create the opportunity for the toolchain to need to be built twice (i.e. if the pipelines are backed up and the toolchain cache is busted between these jobs while the x86_64 step is waiting for a VM).
2022-12-28Meta: Remove i686 targetLiav A
2022-12-25CI: Bump macOS Azure runners to macos-12 tagAndrew Kaster
2022-12-25CI: Enable ladybird builds in Lagom CIAndrew Kaster
2022-12-24Meta: Move UCD/CLDR/TZDB downloaded artifacts to Build/cachesTimothy Flynn
They currently reside under Build/<arch>, meaning that they would be redownloaded for each architecture/toolchain build combo. Move them to a location that can be re-used for all builds.
2022-12-03Meta: Switch to clang-format-15 as the standard formatterLinus Groh
The two major changes noticeable on the SerenityOS codebase are: - Much improved support for const placement, clang-format-14 ignored our east-const configuration in various places - Different formatting for requires clauses, now breaking them onto their own line, which helps with readability a bit Current versions of CLion also ship LLVM 15, so the built-in formatting now matches CI formatting again :^)
2022-11-26CI: Install gcc-12 for Android nightly CI jobAndrew Kaster
This *also* got missed in the gcc-12 update, because we weren't installing an explicit gcc version prior. Hopefully that's the last of the long tail of issues from that migration!
2022-11-11CI: Use gcc-12 in nightly Android host lagom build stageAndrew Kaster
2022-10-25Everywhere: Require version >= 12 for GCC host compilerLinus Groh
So far we've gotten away with using GCC 11 for Lagom and to compile the toolchain, but via #15795 we discovered a compiler bug that has been fixed in the latest version but would error the build with CI's GCC 11. Time for an upgrade :^) We already use ubuntu-22.04 images in most places, so this is pretty straightforward. The only exception is Idan's self-hosted runner, which uses Ubuntu Focal. LibJS should build fine with GCC 11, still.
2022-10-01Toolchain: Move the binutils patch into its own folderTim Schumacher
This makes binutils compatible with `./package.sh dev`, so that we can regenerate patches more easily, and neatly stack (temporary) patches on top.
2022-09-24Meta: Enable full region dumping on CIkleines Filmröllchen
2022-09-22CI: Remove Android NDK CacheAndrew Kaster
This actually never worked as a cache, the build has failed since it tried to use it. This should restore the Android nightly build.
2022-09-14CI: Fix typo preventing the CLDR cache from being pulledTimothy Flynn
2022-09-05LibUnicode: Move CLDR data generators to a LibLocale subfolderTimothy Flynn
To prepare for placing all CLDR generated data in a new library, LibLocale, this moves the code generators for the CLDR data to the LibLocale subfolder.
2022-08-23CI: Bust the macOS Lagom ccache and reduce its sizeTimothy Flynn
It currently takes upwards of 40 minutes to download the ccache on macOS and often errors-out near the end. Change the cache version to bust it so we can start anew. Reduce its max size to 2 GB (a clean build is ~0.9 GB, so this allows just over 2 clean builds to be cached).
2022-08-23CI: Install newer Bash via homebrew on macOSLinus Groh
The recently added generate-emoji-txt.sh script uses a Bash 4 substitution feature, causing CI to fail as macOS ships an ancient Bash 3.x. We'll want to use a more recent version anyway, so let's do that instead of updading the script to older syntax.
2022-08-14Everywhere: Get rid of the fbdev kernel boot argument remaindersLiav A
2022-08-09CI: Enable downloading the Azure remote data cache for Fuzzer buildsTimothy Flynn
This cache was disabled in 3127454 because it wasn't needed and there was a race between the builders for this cache. Then commit 0c95d99 started fuzzing the generated Unicode / TZDB data. Since then, we've been pulling this data from the live servers instead of Azure's cache.
2022-08-09CI: Add a restoration key for Azure's remote data cachesTimothy Flynn
We do a similar trick for the compiler cache. This allows each builder to separately push their local data cache (if it changed) while pulling a shared cache, without the race outlined in commit 3127454. This is needed for a subsequent commit which will enable this cache for Fuzzer builds.
2022-07-21CI+Lagom: Add Lagom Android CI for arm64-v8a on NDK 24 with API level 30Andrew Kaster
This will let us validate that we aren't breaking any library compile steps for arm64.
2022-07-19Everywhere: Fully remove the separate LibPthread directoryTim Schumacher
2022-07-19Meta: Add Android cross-compile support to LagomAndrew Kaster
This is a start to properly letting us cross-compile Lagom where both the Tools and the BUILD_LAGOM=ON build are using Lagom CMakeLists. The initial cut allows an Android build to succeed, more or less. But there are issues with namespace clashes when using FetchContent with this approach.
2022-05-24Meta+CI: Upgrade to ubuntu-22.04Nathan Wallace
This commit upgrades Github Actions workers to ubuntu-22.04 As part of that change, we (currently) no longer need the backports nor toolchain-r/test PPAs, because ubuntu-22.04 include recent-enough version of QEMU and gcc
2022-05-19Toolchain+Ports: Split the GCC patchesDaniel Bertalan
This shouldn't cause any breaking changes, so a toolchain rebuild is not required. As per Hendiadyoin's request, math errno is disabled by default, which should enable some extra compiler optimizations in LibGL and LibSoftGPU code that uses math functions heavily. Co-Authored-By: Ali Mohammad Pur <mpfard@serenityos.org>
2022-05-07CI: Ensure that Azure nightly pipeline doesn't run on CI or PR triggersAndrew Kaster
GitHub YAML pipelines have both of these on by default, so we need to explicitly disable them.
2022-05-07CI: Use proper paths to template files in nightly-pipeline.ymlAndrew Kaster
Azure paths are relative to the pipeline file. Addtionally, pipeline stages can't have spaces or parentheses in them
2022-05-02CI: Add x86_64 Clang Coverage pipeline in AzureAndrew Kaster
Add a job to the Azure pipelines to run tests with coverage enabled, and aggregate the test results in a folder of html pages showing the coverage results overall, and per-file. Future work is needed to take the published pipeline artifact for the coverage results and display them somewhere interesting.
2022-04-23CI: Update the path to our LLVM patchesDaniel Bertalan
The LLVM patch has been broken up into smaller commits and moved to a separate directory. CI should look at this new location to determine if the toolchain needs to be rebuilt.
2022-04-01Meta: Switch to clang-format-14 as the standard formatterIdan Horowitz
Now that clang-format-14 ubuntu packages are available, it's time to finally upgrade our clang-format version. This version brings with it a bunch of useful features with const-placement being the most notable. These will be enabled in the following commits.
2022-03-31Meta: Rename Fuzzer flags to `ENABLE_FUZZERS_{LIBFUZZER,OSSFUZZ}`Tim Schumacher
2022-02-20Lagom: Add two-stage build for Fuzzers to enable fuzzing generated codeAndrew Kaster
This allows us to fuzz the generated unicode and timezone database helpers, and to fuzz things like LibJS using Fuzzilli to get proper coverage of our unicode handling code. Update the Azure CI to use the new two-stage build as well, and cleanup some unused CMake options there.
2022-02-15Meta: Actually run gml-format in CIIdan Horowitz
Third time's a charm.
2022-02-15Meta: Increase Azure CI timeout for Lagom buildsIdan Horowitz
2022-02-14Meta: Use clang-13 instead of clang-12 in Azure CIIdan Horowitz
This should hopefully resolve a clang ICE seen in PR #12523.
2022-02-13Meta: Actually run gml-format in CIIdan Horowitz
Since gml-format is part of Lagom, it must be added to the post-lagom linters section, or else it won't ever actually run.
2022-01-22CI: Fail Lagom linters step as soon as any linter failsIdan Horowitz
This prevents linters from covering the failure of previous linters by overwriting the error code that Azure reads at the end of the step.
2022-01-14CI: Disallow test failures on macOS Lagom :^)Timothy Flynn
2022-01-10Toolchain+CI: Link LLVM with LLD if availableDaniel Bertalan
According to most benchmarks, LLD is faster than GNU ld and the macOS linker, so let's use it if possible in order to speed up the toolchain build.
2022-01-10CI: Hash only relevant files for the key of the compiler cacheDaniel Bertalan
In the last few commits, a second patch was added to the LLVM toolchain, and it no longer uses our binutils patch. This commit changes the CI cache keys accordingly, in order to prevent unnecessary rebuilds of both toolchains when only one is changed. The Clang toolchain's cache now only takes into account patches that begin with `llvm`, and the GNU toolchain excludes those from the hash calculation. We now also hash the two CMake cache files that we use for building LLVM and its runtime libraries.
2022-01-08CI: Add a cache for the IANA time zone database filesTimothy Flynn
2022-01-07CI: Extract toolchain ccache in the Serenity build stageTimothy Flynn
The toolchain is built in a previous stage, but once the Serenity stage has begun, we have to re-pull the toolchain from the Azure cache. There is a timing window where a cache-busting change can be commited between these steps; to alleviate the affect this has, pull the toolchain ccache so that the build only takes a few minutes instead of a couple hours.
2022-01-07Meta+CI+Documentation: Bump host gcc requirement up to gcc 11Andrew Kaster
Bump macOS CI version to macOS 11 while we're here.
2021-11-05Meta: Run IPC magic number linter during CI and pre-commitBen Wiederhake