Browse Source
Merge pull request #8486 from liushuyu/github-actions-verify
Merge pull request #8486 from liushuyu/github-actions-verify
CI: Use GitHub Actions to validate pull requestspull/15/merge
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 174 additions and 24 deletions
-
6.ci/scripts/clang/docker.sh
-
2.ci/scripts/clang/exec.sh
-
0.ci/scripts/clang/upload.sh
-
6.ci/scripts/common/post-upload.sh
-
2.ci/scripts/format/exec.sh
-
9.ci/scripts/linux/docker.sh
-
2.ci/scripts/linux/exec.sh
-
5.ci/scripts/linux/upload.sh
-
20.ci/scripts/windows/docker.sh
-
2.ci/scripts/windows/exec.sh
-
0.ci/scripts/windows/upload.sh
-
115.github/workflows/verify.yml
-
8CMakeLists.txt
-
1CMakeModules/CopyYuzuFFmpegDeps.cmake
-
12CMakeModules/MSVCCache.cmake
-
8src/CMakeLists.txt
@ -0,0 +1,115 @@ |
|||
name: 'yuzu verify' |
|||
|
|||
on: |
|||
pull_request: |
|||
branches: [ master ] |
|||
|
|||
jobs: |
|||
format: |
|||
name: 'verify format' |
|||
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 |
|||
id: ccache-restore |
|||
with: |
|||
path: ~/.ccache |
|||
key: ${{ runner.os }}-${{ matrix.type }}-${{ github.sha }} |
|||
restore-keys: | |
|||
${{ runner.os }}-${{ matrix.type }}- |
|||
- name: Create ccache directory |
|||
if: steps.ccache-restore.outputs.cache-hit != 'true' |
|||
run: mkdir -p ~/.ccache |
|||
- name: Build |
|||
run: ./.ci/scripts/${{ matrix.type }}/docker.sh |
|||
env: |
|||
ENABLE_COMPATIBILITY_REPORTING: "ON" |
|||
- name: Pack |
|||
run: ./.ci/scripts/${{ matrix.type }}/upload.sh |
|||
env: |
|||
NO_SOURCE_PACK: "YES" |
|||
- name: Upload |
|||
uses: actions/upload-artifact@v3 |
|||
with: |
|||
name: ${{ matrix.type }} |
|||
path: artifacts/ |
|||
build-msvc: |
|||
name: 'test build (windows, msvc)' |
|||
needs: format |
|||
runs-on: windows-2019 |
|||
steps: |
|||
- name: Set up cache |
|||
uses: actions/cache@v2 |
|||
with: |
|||
path: ~/.buildcache |
|||
key: ${{ runner.os }}-msvc-${{ github.sha }} |
|||
restore-keys: | |
|||
${{ runner.os }}-msvc- |
|||
- name: Install dependencies |
|||
# due to how chocolatey works, only cmd.exe is supported here |
|||
shell: cmd |
|||
run: | |
|||
choco install vulkan-sdk wget |
|||
python -m pip install --upgrade pip conan |
|||
call refreshenv |
|||
wget https://github.com/mbitsnbites/buildcache/releases/download/v0.27.6/buildcache-windows.zip |
|||
7z x buildcache-windows.zip |
|||
copy buildcache\bin\buildcache.exe C:\ProgramData\chocolatey\bin |
|||
rmdir buildcache |
|||
echo %PATH% >> %GITHUB_PATH% |
|||
- name: Set up MSVC |
|||
uses: ilammy/msvc-dev-cmd@v1 |
|||
- uses: actions/checkout@v2 |
|||
with: |
|||
submodules: recursive |
|||
fetch-depth: 0 |
|||
- name: Configure |
|||
env: |
|||
CC: cl.exe |
|||
CXX: cl.exe |
|||
run: | |
|||
glslangValidator --version |
|||
mkdir build |
|||
cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release |
|||
- name: Build |
|||
run: cmake --build build |
|||
- name: Cache Summary |
|||
run: buildcache -s |
|||
- name: Pack |
|||
shell: pwsh |
|||
run: .\.ci\scripts\windows\upload.ps1 |
|||
- name: Upload |
|||
uses: actions/upload-artifact@v3 |
|||
with: |
|||
name: msvc |
|||
path: artifacts/ |
|||
@ -0,0 +1,12 @@ |
|||
# buildcache wrapper |
|||
OPTION(USE_CCACHE "Use buildcache for compilation" OFF) |
|||
IF(USE_CCACHE) |
|||
FIND_PROGRAM(CCACHE buildcache) |
|||
IF (CCACHE) |
|||
MESSAGE(STATUS "Using buildcache found in PATH") |
|||
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE}) |
|||
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE}) |
|||
ELSE(CCACHE) |
|||
MESSAGE(WARNING "USE_CCACHE enabled, but no buildcache executable found") |
|||
ENDIF(CCACHE) |
|||
ENDIF(USE_CCACHE) |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue