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