summaryrefslogtreecommitdiff
path: root/.ci
AgeCommit message (Collapse)Author
2022-07-31patreon step2: Enable Linux buildlat9nq
I sure as heck don't know what I'm doing :) patreon_step2: Fix caching :limesDance: still don't know what I'm doing :limesDance:
2022-07-31ci,linux: Support Patreon releaseslat9nq
The Early Access AppImage needs to be accessible through liftinstall, so a couple modifications need to made: The DIR_NAME needs to not include the revision info. The EA AppImage name cannot contain revision info. The EA AppImage has to be packaged with the rest of the yuzu package, which means both binaries and the source are bundled with it now in an archive. In addition, fix the source archive so yuzu can actually be built from it. upload: Copy AppImage to both mainline and EA release package
2022-07-28cmake,ci: vcpkg for MSVC default, fix lz4 include, catch2, cleanuplat9nq
vcpkg: Add Catch2 2.13.9 Catch2 >= 3.0 is not compatible with earlier versions, and for now we must override the desired version in our vcpkg manifest. We can do this programmatically by using VCPKG_MANIFEST_FEATURES. CMakeLists: Search for lz4 CONFIG mode first vcpkg's lz4 CONFIG cmake script works in Release mode but not in Debug mode, failing to copy the correct DLLs at compile time. We still need to search for the regular mode for system-installed versions. CMakeLists: Clean up boost exports Remove some Conan-specific workarounds. CMakeLists: Use vcpkg for MSVC by default Not enabling it generally since it's much easier to have system dependencies installed for Linux and MinGW.
2022-07-28Merge pull request #8349 from yuzu-emu/revert-8256-ci-vs-2022bunnei
Revert "ci: Enable building with Visual Studio 2022"
2022-07-28Merge pull request #8642 from lat9nq/appimg-more-controlliamwhite
ci/linux: Exclude libwayland-client from AppImage
2022-07-27Merge pull request #8641 from Docteh/vcpkg_dllliamwhite
build: Ship vcpkg dlls with MSVC pr-verify builds
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-07-26build: Ship vcpkg dlls with MSVC pr-verify buildsKyle Kienapfel
With our recent switchover from conan to vcpkg, we're shipping a few more dll files, these need to be in the full zip. cp .\build\bin\*.dll .\artifacts\ also tacking on the fix where we're shipping scm_rev.cpp accidentally
2022-07-26ci/linux: Delete libwayland-client from AppDirlat9nq
This library causes issues in Vulkan driver detection. libQt5MultimediaGstTools's dependencies seem to be the issue.
2022-07-23Merge pull request #8629 from Docteh/test_transifexliamwhite
ci,transifex: enable vcpkg on transifex step
2022-07-23Merge pull request #8625 from Docteh/ado_titlebarliamwhite
ci: pass environment variables to linux docker (AppImage)
2022-07-23Merge pull request #8596 from Docteh/fix_ghaliamwhite
package MSVC CI Builds differently, and include yuzu.exe
2022-07-23ci,transifex: enable vcpkg on transifex stepKyle Kienapfel
The slim docker container that runs transifex needs a few packages added in, curl zip unzip I've tested everything except actually pushing to transifex, but it's not November 2022 yet so we're fine for now. Or we're actually using the newer client and all is well.
2022-07-23package MSVC CI Builds differently, and include yuzu.exeKyle Kienapfel
This is related to 8486 Ninja places the exe files into .\build\bin while MSBuild may place them into .\build\bin\Release upload.ps1 was originally written for use with Azure Dev Ops to cough up about 5 files and the script appears to be used for both CI and mainline builds GHA (GitHub Actions) makes available a single zip of the items uploaded by each Upload action (artifacts directory), so we want to work with that. I'm doing changes to upload.ps1 to accomplish this. The changes to the verify.yml are as follows -DGIT_BRANCH=pr-verify changes the header in yuzu, instead of saying HEAD-<hash>-dirty it'll say pr-verify-<hash> -DCLANG_FORMAT_SUFFIX=discordplzdontclang tricks the CMake stuff for discord-rpc to NOT run clang-format, as this was marking CI builds as dirty I'm also making it upload just the exe by itself, as the msvc builds are quite chunky. but maybe this is unnecessary. Currently the MSVC artifact option is a 274MB zip that contains 3 copies of the DLLs, and 4 copies of the source tarball, and zero copies of yuzu.exe This PR should have msvc artifacts of about 190MB that downloads as 81 MB zip
2022-07-23ci/windows: Cleanup unused data before packaginglat9nq
vcpkg data takes up a lot of space, and currently the scripts will package all that data with the source archive which is unnecessary.
2022-07-22ci: pass environment variables to linux docker (AppImage)Kyle K
Variables in question: AZURECIREPO TITLEBARFORMATIDLE TITLEBARFORMATRUNNING DISPLAYVERSION CMakeModules/GenerateSCMRev.cmake has some logic that looks at BUILD_REPOSITORY variable inside CMake src/common/CMakeLists.txt has some logic that takes some items from environment variables and sets variables inside CMake This is the whole section at the moment. if (DEFINED ENV{AZURECIREPO}) set(BUILD_REPOSITORY $ENV{AZURECIREPO}) endif() if (DEFINED ENV{TITLEBARFORMATIDLE}) set(TITLE_BAR_FORMAT_IDLE $ENV{TITLEBARFORMATIDLE}) endif () if (DEFINED ENV{TITLEBARFORMATRUNNING}) set(TITLE_BAR_FORMAT_RUNNING $ENV{TITLEBARFORMATRUNNING}) endif () if (DEFINED ENV{DISPLAYVERSION}) set(DISPLAY_VERSION $ENV{DISPLAYVERSION}) endif ()
2022-07-22Revert "ci: Enable building with Visual Studio 2022"bunnei
2022-07-22ci,CMake: Integrate vcpkg into CMakeListslat9nq
Uses manifest mode if the bundled vcpkg is used.
2022-07-22ci,CMake: Drop Conan support for vcpkglat9nq
Between packages breaking, Conan always being a moving target for minimum required CMake support, and now their moves to Conan 2.0 causing existing packages to break, I suppose this was a long time coming. vcpkg isn't without its drawbacks, but at the moment it seems easier on the project to use for external packages. Mostly removes the logic for Conan from the root CMakeLists file, leaving basic find_package()'s in its place. Sets only the find_package()'s that require CONFIG mode as necessary. clang and linux CI now use the vcpkg toolchain file configured in the Docker container when possible. mingw CI turns off YUZU_TESTS because there's no way on the container to run Windows executables on a Linux host anyway, and it's not easy to get Catch2 there.
2022-07-05ci/windows: Copy what of FFmpeg not already presentlat9nq
Prevents overwriting libwinpthreads.dll when one should already be present from the first DLL search.
2022-07-05CI: unbreak ADO after GHA changesliushuyu
2022-07-04CI: lint scriptsliushuyu
2022-07-04CI: workaround appimage generation if FUSE is not availableliushuyu
2022-07-04CI: upload artifacts for pull request verificationliushuyu
2022-07-04CI: fix cachingliushuyu
2022-07-04CI: use Ninja to build stuff fasterliushuyu
2022-07-04CI: Use GitHub Actions to check pull requestsliushuyu
2022-06-16ci/windows: Build using Clanglat9nq
Uses the MinGWClangCross toolchain script to build yuzu. Disables our bundled SDL2 to use the system ones that have been modified to not use `-mwindows`. Also set's `-e` to stop the script on an error (as opposed to packaging nothing). Uses LLVM's linker for linking yuzu. Adds -femulated-tls due to a libstdc++ incompatibility between GCC and Clang in vulkan_common.
2022-06-16ci/windows: Split up cmake commandlat9nq
Improves readability.
2022-04-24ci: Update build generator to VS 2022Morph
2022-04-24ci: Update vmImage to windows-2022Morph
The windows-2022 image contains Visual Studio 2022.
2022-03-19build-msvc: Disable testsameerj
2021-12-15video_core/codecs: (re-spin) refactor ffmpeg searching and handlingliushuyu
2021-12-15Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"bunnei
2021-12-13CI: fix CI on Linuxliushuyu
2021-12-13CI: fix MinGW installation stepliushuyu
2021-11-16ci: Don't fetch submodules when fetching PRsMorph
2021-11-08ci: Print traceback on patch merge failureMorph
2021-10-16.ci/transifex: Mark docker.sh as executableFearlessTobi
2021-10-15.ci: Use Github Actions to update translation source filesFearlessTobi
2021-10-11ci: Use ubuntu-latest vmImage where applicableameerj
Not specifying the vmImage defaults to ubuntu-16.04, which will be deprecated soon and is experiencing brownouts.
2021-10-01ci: Use latest ubuntu image for mainline/patreon step 1ameerj
2021-09-24ci: Update clang format versionameerj
2021-08-01Merge pull request #6565 from lat9nq/bundle-ffmpegAmeer J
cmake, ci: Build bundled FFmpeg with yuzu
2021-07-21ci: Increase mainline build timeout.bunnei
- We're currently timing out with builds exceeding 60M. This doubles the timeout to 120M.
2021-07-06cmake, ci: Build bundled FFmpeg with yuzulat9nq
Drops usage of CMAKE_DEPENDENT_OPTION to allow using YUZU_USE_BUNDLED_FFMPEG as an option on any platform. CI then now builds FFmpeg always, netting about 10 MB less used on the AppImage. Also somewhat fixes YUZU_USE_BUNDLED_QT so that it can be used even if CMake doesn't clean up its state after running the first find_package.
2021-06-19ci: windows: Copy the styles directory when packaginglat9nq
Qt can make use of qwindowsvistastyle.dll if present, and our MinGW container has the library, but it was not being copied during the packaging process. Thus, yuzu looked like a Windows 98 application when using the PR-verify artifacts. This copies over the DLL during packaging, for that sweet-sweet Windows Vista style. In addition, set the Qt plugins path instead of the plugins/platforms path. This way we can use the directory directly, rather than appending a `..` everytime we need something just outside of it.
2021-06-09ci: windows: Compress using xzlat9nq
Use XZ instead of gzip for packing. Should save about 10 MB.
2021-06-09ci: common: Remove 7z packaginglat9nq
Removes the 7z from being package during CI, as only .tar.xz preserves information needed on Linux, and otherwise is just extremely redundant to package in addition to the .tar.xz. This affects Linux releases and PR-verify artifacts only. MSVC releases do not use this script to my knowledge.
2021-05-31externals: libusb: Use autotools for MinGWlat9nq
After updating to 1.0.24, MinGW fails to build libusb as a result of numerous errors. So we build libusb their way and let them update the nontrivial stuff. This only applies to MinGW: the old path is still in use for Linux toolchains as well as MSVC. This will dynamically link libusb, since I hit build errors with the old way we used to resolve the conflict with SDL2.