Browse Source

CI: Use GitHub Actions to check pull requests

liushuyu 4 years ago
parent
commit
a1815b617c

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

@@ -3,8 +3,6 @@
 # Exit on error, rather than continuing with the rest of the script.
 set -e
 
-cd /yuzu
-
 ccache -s
 
 mkdir build || true && cd build

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

@@ -3,8 +3,6 @@
 # Exit on error, rather than continuing with the rest of the script.
 set -e
 
-cd /yuzu
-
 ccache -s
 
 mkdir build || true && cd build

+ 11 - 6
.ci/scripts/windows/docker.sh

@@ -2,19 +2,24 @@
 
 set -e
 
-cd /yuzu
+#cd /yuzu
 
 ccache -s
 
-mkdir build || true && cd build
-LDFLAGS="-fuse-ld=lld"
+mkdir -p "$HOME/.conan/"
+cp -rv /home/yuzu/.conan/profiles/ "$HOME/.conan/"
+cp -rv /home/yuzu/.conan/settings.yml "$HOME/.conan/"
+
+mkdir -p build && cd build
+export LDFLAGS="-fuse-ld=lld"
 # -femulated-tls required due to an incompatibility between GCC and Clang
 # TODO(lat9nq): If this is widespread, we probably need to add this to CMakeLists where appropriate
+export CFLAGS="-femulated-tls"
+export CXXFLAGS="${CFLAGS}"
 cmake .. \
     -DCMAKE_BUILD_TYPE=Release \
-    -DCMAKE_CXX_FLAGS="-femulated-tls" \
-    -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../CMakeModules/MinGWClangCross.cmake" \
-    -DDISPLAY_VERSION=$1 \
+    -DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWClangCross.cmake" \
+    -DDISPLAY_VERSION="$1" \
     -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
     -DENABLE_QT_TRANSLATION=ON \
     -DUSE_CCACHE=ON \

+ 52 - 0
.github/workflows/verify.yml

@@ -0,0 +1,52 @@
+name: 'yuzu verify'
+
+on:
+  pull_request:
+    branches: [ master ]
+
+jobs:
+  format:
+    name: 'verify formatting'
+    runs-on: ubuntu-latest
+    container:
+      image: yuzuemu/build-environments:linux-clang-format
+      options: -u 1001
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: false
+      - name: 'Verify Formatting'
+        run: bash -ex ./.ci/scripts/format/script.sh
+  build:
+    name: 'test build'
+    needs: format
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - type: clang
+            image: linux-fresh
+          - type: linux
+            image: linux-fresh
+          - type: windows
+            image: linux-mingw
+    container:
+      image: yuzuemu/build-environments:${{ matrix.image }}
+      options: -u 1001
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: recursive
+          fetch-depth: 0
+      - name: Set up cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.ccache
+          key: ${{ runner.os }}-${{ matrix.image }}-${{ github.sha }}
+          restore-keys: |
+            ${{ runner.os }}-${{ matrix.image }}-
+      - name: Build
+        run: ./.ci/scripts/${{ matrix.type }}/docker.sh
+        env:
+          ENABLE_COMPATIBILITY_REPORTING: "ON"