aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/validate.yml
Commit message (Collapse)AuthorAgeFilesLines
* test running / reporting improvements (#797)Stefan Boberg11 days1-23/+62
| | | | | | | | | | | | | | | | | | | **CI/CD improvements (validate.yml):** - Add test reporter (`ue-foundation/test-reporter@v2`) for all three platforms, rendering JUnit test results directly in PR check runs - Add "Trust workspace" step on Windows to fix git safe.directory ownership issue with self-hosted runners - Clean stale report files before each test run to prevent false failures from leftover XML - Broaden `paths-ignore` to skip builds for non-code changes (`*.md`, `LICENSE`, `.gitignore`, `docs/**`) **Test improvements:** - Convert `CHECK` to `REQUIRE` in several test suites (projectstore, integration, http) for fail-fast behavior - Mark some tests with `doctest::skip()` for selective execution - Skip httpclient transport tests pending investigation - Add `--noskip` option to `xmake test` task - Add `--repeat=<N>` option to `xmake test` task, to run tests repeatedly N times or until there is a failure **xmake test output improvements:** - Add totals row to test summary table - Right-justify numeric columns in summary table
* retain xmake state between runs (#656)Stefan Boberg2025-11-181-1/+1
| | | | | | this change relocates the xmake global state to a directory beside the workspace directory so it doesn't get wiped on every run thus we can avoid rebuilding every package on every run. Unlike vcpkg, xmake separates revisions of packages into their own tree it's robust enough to handle different versions of different packages on different branches. It's however not clear to me that modifying the contents of an `xmake.lua` package definition file across branches is ok. It *may* be necessary to change the directory name for the shared state in this case but it should be a rare event.
* sentry/asan configuration tweaks (#649)v5.7.10-pre0Stefan Boberg2025-11-131-3/+3
| | | | | * Automated more of the decisions around which options to set when using ASAN * Also disabled Sentry by default as it's a bit annoying to have it upload crashes during development. Sentry is still automatically enabled and integrated as part of the `xmake bundle` step however so released builds will still have it.
* switch to xmake for package management (#611)Stefan Boberg2025-11-071-49/+3
| | | | | | | | | | | | | | | | | | | | | | This change removes our dependency on vcpkg for package management, in favour of bringing some code in-tree in the `thirdparty` folder as well as using the xmake build-in package management feature. For the latter, all the package definitions are maintained in the zen repo itself, in the `repo` folder. It should now also be easier to build the project as it will no longer depend on having the right version of vcpkg installed, which has been a common problem for new people coming in to the codebase. Now you should only need xmake to build. * Bumps xmake requirement on github runners to 2.9.9 to resolve an issue where xmake on Windows invokes cmake with `v144` toolchain which does not exist * BLAKE3 is now in-tree at `thirdparty/blake3` * cpr is now in-tree at `thirdparty/cpr` * cxxopts is now in-tree at `thirdparty/cxxopts` * fmt is now in-tree at `thirdparty/fmt` * robin-map is now in-tree at `thirdparty/robin-map` * ryml is now in-tree at `thirdparty/ryml` * sol2 is now in-tree at `thirdparty/sol2` * spdlog is now in-tree at `thirdparty/spdlog` * utfcpp is now in-tree at `thirdparty/utfcpp` * xmake package repo definitions is in `repo` * implemented support for sanitizers. ASAN is supported on windows, TSAN, UBSAN, MSAN etc are supported on Linux/MacOS though I have not yet tested it extensively on MacOS * the zencore encryption implementation also now supports using mbedTLS which is used on MacOS, though for now we still use openssl on Linux * crashpad * bumps libcurl to 8.11.0 (from 8.8.0) which should address a rare build upload bug
* move cpr in-tree (#605)Stefan Boberg2025-10-241-1/+1
| | | | | | * added cpr 1.10.5 in-tree to allow updates to vcpkg without breaking the build * added asio 1.29.0 in-tree to remove one more vcpkg dependency * bumped vcpkg to 2024.06.15 to address failure to build due to use of deprecated binaries in vcpkg (404 error: `https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-pkgconf-1~2.1.0-1-any.pkg.tar.zst` during build)
* use batching clang-format for quicker turnaround on validate actions (#529)Stefan Boberg2025-09-301-1/+1
| | | this changes the validate job to use a batching version of the clang-format-action which reduces turnaround from some six minutes to six seconds
* update readme with required vcpkg version (#496)Dan Engelbrecht2025-09-151-1/+1
| | | - Improvement: Updated README.md to state the required version vcpkg
* Remove workflow hacks for CI debuggingLiam Mitchell2025-08-221-1/+0
|
* Remove libc++ installation from validate workflowLiam Mitchell2025-08-201-6/+0
|
* Use apt instead of apt-get for installing system packagesLiam Mitchell2025-07-301-2/+3
|
* Install libc++-dev during CI in order to build libsystemd properlyLiam Mitchell2025-07-291-0/+5
|
* Always upload vcpkg logs on failureLiam Mitchell2025-07-261-0/+1
|
* Temporarily enable Validate jobs on push to de/zen-service-command for testingLiam Mitchell2025-07-261-0/+1
|
* Upload vcpkg logs as artifacts on failureLiam Mitchell2025-07-251-0/+6
|
* Revert "remove temporary workaround involving _LIBCPP_DISABLE_AVAILABILITY ↵Dan Engelbrecht2024-10-101-2/+1
| | | | | (#191)" (#193) This reverts commit e809931618b443809e9740edb70a62d0cab01f87.
* remove temporary workaround involving _LIBCPP_DISABLE_AVAILABILITY (#191)Stefan Boberg2024-10-081-1/+2
| | | | | | * remove temporary workaround involving _LIBCPP_DISABLE_AVAILABILITY * temp disable signing on Mac this change should be revisited once we have resumed regular service wrt MacOS runners
* Replicate releases on new release creation (#150)Joakim Lindqvist2024-09-101-0/+2
| | | | | | | | | * Ignore changes to the mirror_releases script * Only trigger release mirroring when new releases are made * Added a minimum release number to workaround issues with certain older releases * Lowered number of releases that are replicated
* bump vcpkg and xmake to latest (#40)Dan Engelbrecht2024-04-241-2/+2
| | | - Improvement: Bumped xmake to 2.9.1 and vcpkg version to 2024.03.25
* add a limit to the number of times we attempt to finalize (#22)Dan Engelbrecht2024-03-251-9/+14
| | | | | | - Improvement: Add limit to the number of times we attempt to finalize and exported oplog - Improvement: Switch to large thread pool when executing oplog export/import - Improvement: Clean up reporting of missing attachments in oplog export/import - Improvement: Remove double-reporting of abort reason for oplog export/import
* added action to mirror repo to github.com (#17)Stefan Boberg2024-03-211-1/+4
|
* re-enable macos signing (#15)Dan Engelbrecht2024-03-201-2/+1
|
* remove hv tags on actions since they are no longer usefulStefan Boberg2024-03-201-5/+5
| | | | we use `zen` tags to discriminate now instead
* Enabled signing on windows agents again (#12)Joakim Lindqvist2024-03-201-2/+2
| | | * Enabled signing on windows agents again
* make sure zenserver reacts and exist on SIGTERM signal (#8)Dan Engelbrecht2024-03-151-6/+7
| | | | | * make sure zenserver reacts and exist on SIGTERM signal * add zen tag to all runners * temp disable mac codesigning
* updates to signingStefan Boberg2024-03-131-2/+2
| | | | | macOS signs executables again Windows releases do not (neither does validate)
* workflow tweaksStefan Boberg2024-03-121-5/+5
|
* workflow fixes (#1)Stefan Boberg2024-03-121-16/+14
| | | | | * update validate action for enterprise github * updated runner setup options * updated release workflow for enterprise github
* also update validate to avoid code sign problemsStefan Boberg2024-03-051-1/+2
|
* windows executable signing (#566)Dan Engelbrecht2023-12-151-1/+2
| | | Windows executables are now signed with official cert when creating a release
* embed html frontend content as binary compiled data (#559)Dan Engelbrecht2023-11-231-1/+1
| | | | | | - Feature: Added xmake task `updatefrontend` which updates the zip file containing the frontend html (`/src/zenserver/frontend/html.zip`) - Improvement: The frontend html content is no longer appended at the end of the executable which prevented signing, instead it is compiled in from the `/src/zenserver/frontend/html.zip` archive - Improvement: MacOS now does ad-hoc code signing by default when issuing `xmake bundle`, signing with proper cert is done on CI builds
* bump xmake CI version to 2.8.2 (#514)Dan Engelbrecht2023-11-071-9/+6
| | | | * bump xmake CI version to 2.8.2 * show test times in log
* revive UE toolchain build (#343)Dan Engelbrecht2023-08-221-11/+10
| | | | | | | | | * add comment about 7z usage in xmake bundle * add ue-libcxx lib/headers and licence + tps * update get_ue_toolchain.sh to use embedded libc++ and decouple from p4 * clearer output when falling back to zip from 7z * update ci scripts to use ue toolchain on linux * updated linux build README.md * changelog
* update vcpkg dependencies (#356)Dan Engelbrecht2023-08-111-6/+6
| | | | | | * bump vcpkg version * fmt lib 10 fixes * xmake dependencies (with linux workarounds) * changelog
* narrowed scope of clang-format actionStefan Boberg2023-06-091-2/+1
| | | | also removed some unnecessary entries from .gitignore
* Increased timeout to 25 min for Windows validationStefan Boberg2023-05-311-1/+1
|
* bumped xmake and vcpkg versionsStefan Boberg2023-05-261-6/+6
| | | | | xmake is now 2.7.9 (was 2.6.4) vcpkg is now 2023.04.15 (was 2022.08.15)
* extend timeout for linux validation on ciDan Engelbrecht2023-05-101-1/+1
|
* junit test reporting (#239)Dan Engelbrecht2023-02-231-24/+24
| | | | - Feature: `--junit` switch to `xmake test` to generate junit style reports of tests. - Feature: CI build on GitHub now uploads junit test reports as artifact to the check for PR validation and mainline validation
* actions/[email protected] -> actions/checkout@v3Dan Engelbrecht2022-11-141-4/+4
|
* update github actions versions to avoid node js warningsDan Engelbrecht2022-11-141-5/+5
|
* update action cancel old build to 0.11.0 (#186)v0.1.9-pre1Dan Engelbrecht2022-11-081-1/+1
|
* Use "\\?\" prefixed paths and fix hardcoded path delimiters (#149)Dan Engelbrecht2022-08-261-18/+18
| | | | | | * use "\\?\" prefix for windows paths * fix path delimiters * disable vcpkg caching * Workaround for spdlog not being able to create directories prefixed with `\\?\`
* redefine vcpkg cache namingDan Engelbrecht2022-08-261-3/+3
|
* Build script cleanup (#150)v0.1.4-pre23v0.1.4-pre20Dan Engelbrecht2022-08-251-48/+46
| | | | | * always do 'config' to avoid user input problems in CI * always bundle on validate release, remove separate build release * bump vcpkg cache
* re-enable MacOS build (#144)v0.1.4-pre19v0.1.4-pre14v0.1.4-pre13v0.1.4-pre11Dan Engelbrecht2022-08-221-70/+70
| | | | * re-enable MacOS build * bump vcpkg version
* bump vcpkg version to 2022.08.15 (#146)Dan Engelbrecht2022-08-191-3/+3
|
* disable macos github agentDan Engelbrecht2022-06-271-68/+68
|
* add macos builds (#133)Dan Engelbrecht2022-06-241-2/+72
| | | | | | | * add macos builds * bump timeout to 15 minutes and add timeout to create-release flow * strip -pre suffix from version when running config * fix pre-release check * bump version
* merged from mainStefan Boberg2022-06-161-0/+6
|
* release spellingv0.1.1Dan Engelbrecht2022-06-021-4/+4
|