diff --git a/.ci/scripts/clang/docker.sh b/.ci/scripts/clang/docker.sh index 885d74e97..4bb07105a 100755 --- a/.ci/scripts/clang/docker.sh +++ b/.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 diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index 5070b92d1..38b29294c 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.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 diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index f53d837d1..6420c8f7d 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.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 \ diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml new file mode 100644 index 000000000..e601ecd40 --- /dev/null +++ b/.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"