Prechádzať zdrojové kódy

feature: Store CCACHE cache in CI cache

Fijxu 2 rokov pred
rodič
commit
5aa53d12df

+ 2 - 0
.ci/scripts/linux/docker.sh

@@ -12,6 +12,8 @@ mkdir build || true && cd build
 cmake .. \
       -DBoost_USE_STATIC_LIBS=ON \
       -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+			-DSUYU_USE_PRECOMPILED_HEADERS=OFF \
+			-DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \
       -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \
       -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ \
       -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \

+ 27 - 0
.gitlab-ci.yml

@@ -1,6 +1,22 @@
 stages:
   - format
   - build
+
+variables:
+  # https://docs.gitlab.com/ee/ci/runners/configure_runners.html
+  TRANSFER_METER_FREQUENCY: "2s"
+  ARTIFACT_COMPRESSION_LEVEL: "fast"
+  CACHE_COMPRESSION_LEVEL: "fastest"
+  CACHE_REQUEST_TIMEOUT: 5
+  # Use FASTZIP for faster compression in cache and artifacts 
+  # https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags
+  FF_USE_FASTZIP: true
+  
+  # Our Variables
+  CACHE_DIR: "$CI_PROJECT_DIR/ccache"
+  CCACHE_DIR: $CACHE_DIR
+
+
 #CLANG FORMAT - CHECKS CODE FOR FORMATTING ISSUES
 clang-format:
   stage: format
@@ -15,11 +31,20 @@ clang-format:
   #  - Linux
   #  - Windows
     - Parallelized
+
 #LINUX BUILD - BUILDS LINUX APPIMAGE
 build-linux:
   stage: build
   image: suyuemu/cibuild:linux-x64
   resource_group: linux-ci
+  cache:
+    key: "$CI_COMMIT_REF_NAME-ccache"
+    paths:
+      - $CACHE_DIR
+  before_script:
+    - mkdir -p $CACHE_DIR
+    - chmod -R 777 $CACHE_DIR
+    - ls -la $CACHE_DIR
   variables:
     GIT_SUBMODULE_STRATEGY: recursive
     GIT_SUBMODULE_DEPTH: 1
@@ -33,6 +58,7 @@ build-linux:
   tags:
     - Linux
     - Parallelized
+
 #ANDROID BUILD - BUILDS APK
 android:
   stage: build
@@ -53,3 +79,4 @@ android:
   tags:
     - Linux
     - Parallelized
+

+ 1 - 0
src/core/hle/service/nvnflinger/hardware_composer.cpp

@@ -1,6 +1,7 @@
 // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-3.0-or-later
 
+#include <optional>
 #include <boost/container/small_vector.hpp>
 
 #include "common/microprofile.h"