add windows CI builds (#82)

This commit is contained in:
Nikhil Narayana 2023-08-19 23:33:19 -04:00 committed by GitHub
commit 8d75dc300c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -16,98 +16,73 @@ on:
- "**.ini"
jobs:
# windows:
# strategy:
# fail-fast: false
# matrix:
# build_type: [Netplay, Playback]
# include:
# - build_type: Netplay
# artifact_name: windows64-netplay
# build_config: -G "Ninja" -DCMAKE_BUILD_TYPE="Release" -DQt5_DIR:STRING="D:\a\dolphin\dolphin\Externals\Qt\Qt5.15.0\msvc2019_64\lib\cmake\Qt5" -DSLIPPI_PLAYBACK=false
# - build_type: Playback
# artifact_name: windows64-playback
# build_config: -G "Ninja" -DCMAKE_BUILD_TYPE="Release" -DQt5_DIR:STRING="D:\a\dolphin\dolphin\Externals\Qt\Qt5.15.0\msvc2019_64\lib\cmake\Qt5"
# env:
# DXSDK_DIR: "C:\\Program Files (x86)\\Microsoft DirectX SDK (June 2010)\\"
# name: "Windows ${{ matrix.build_type }}"
# runs-on: windows-2019
# steps:
# - name: "Checkout"
# uses: actions/checkout@v3
# with:
# submodules: recursive
# # - name: "Remove Redistributable"
# # shell: cmd
# # run: |
# # MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
# # MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}
# # mkdir .\Tools\DX
# # - name: "Setup MSBuild"
# # uses: microsoft/setup-msbuild@v1
# # - name: Cache DXSDK_Jun10.exe
# # uses: actions/cache@v3
# # with:
# # path: ./Tools/DX/
# # key: ${{ runner.os }}
# # - name: "Download DirectX SDK"
# # working-directory: ${{ github.workspace }}
# # shell: powershell
# # run: |
# # if (!(Test-Path ".\Tools\DX\DXSDK_Jun10.exe" -PathType Leaf)) { Invoke-WebRequest -Uri https://github.com/project-slippi/Ishiiruka/releases/download/v2.2.5/DXSDK_Jun10.exe -UseBasicParsing -OutFile ".\Tools\DX\DXSDK_Jun10.exe" }
# # - name: "Install DirectX SDK"
# # working-directory: ${{ github.workspace }}
# # shell: cmd
# # run: |
# # .\Tools\DX\DXSDK_Jun10.exe /U /F
# - name: 'Fetch Git Tags'
# shell: bash
# if: success()
# run: |
# git fetch --prune --unshallow
# echo "GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
# echo "GIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
# echo "GIT_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
# echo "CURR_DATE=$(date +%Y-%m-%d)" >> $GITHUB_ENV
# - uses: seanmiddleditch/gha-setup-ninja@master
# - uses: egor-tensin/vs-shell@v2
# - name: "Build ${{ matrix.build_type }} Dolphin"
# shell: cmd
# working-directory: ${{ github.workspace }}
# run: |
# mkdir build
# cd build
# dir ..\Externals\Qt\Qt5.15.0\msvc2019_64\lib\cmake\Qt5
# cmake ${{ matrix.build_config }} ..
# ninja
# - name: "Package ${{ matrix.build_type }}"
# working-directory: ${{ github.workspace }}
# run: |
# Xcopy /Y /E /I .\Data\Sys .\Binary\x64\Sys
# cd .\Binary\x64\
# fsutil file createnew FIX-VCRUNTIME140-ERROR.txt 0
# echo "Download and install this: https://aka.ms/vs/16/release/vc_redist.x64.exe" > .\FIX-VCRUNTIME140-ERROR.txt
# - name: "Add Playback codes"
# working-directory: ${{ github.workspace }}
# if: matrix.build_type == 'Playback'
# run: |
# Xcopy /Y /E /I .\Data\Sys .\Binary\x64\Sys
# Xcopy /Y /E /I .\Data\PlaybackGeckoCodes\* .\Binary\x64\Sys\GameSettings\
# - name: Package Artifact
# working-directory: ${{ github.workspace }}
# run: |
# $FILE_NAME="${{ env.CURR_DATE }}-${{ env.GIT_HASH }}-${{ env.GIT_TAG }}-${{ matrix.artifact_name }}.zip"
# mkdir artifact
# cd .\Binary\x64\
# fsutil file createnew portable.txt 0
# 7z a $FILE_NAME .\*
# move $FILE_NAME ..\..\artifact\
# - name: "Publish"
# if: success()
# uses: actions/upload-artifact@v3
# with:
# name: ${{ matrix.artifact_name }}
# path: "./artifact/"
windows:
strategy:
fail-fast: false
matrix:
build_type: [Netplay, Playback]
include:
- build_type: Netplay
artifact_name: windows64-netplay
build_config: -G "Ninja" -DCMAKE_BUILD_TYPE="Release" -DSLIPPI_PLAYBACK=false
- build_type: Playback
artifact_name: windows64-playback
build_config: -G "Ninja" -DCMAKE_BUILD_TYPE="Release" -DSLIPPI_PLAYBACK=true
env:
DXSDK_DIR: "C:\\Program Files (x86)\\Microsoft DirectX SDK (June 2010)\\"
name: "Windows ${{ matrix.build_type }}"
runs-on: windows-2022
steps:
- name: "Checkout"
uses: actions/checkout@v3
with:
submodules: recursive
- name: 'Fetch Git Tags'
shell: bash
if: success()
run: |
git fetch --prune --unshallow
echo "GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
echo "GIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "GIT_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
echo "CURR_DATE=$(date +%Y-%m-%d)" >> $GITHUB_ENV
- uses: egor-tensin/vs-shell@v2
- name: "Build ${{ matrix.build_type }} Dolphin"
shell: cmd
working-directory: ${{ github.workspace }}
run: |
mkdir build
cd build
cmake ${{ matrix.build_config }} ..
cmake --build . --target dolphin-emu
- name: "Package ${{ matrix.build_type }}"
working-directory: ${{ github.workspace }}
run: |
Xcopy /Y /E /I .\Data\Sys .\Binary\x64\Sys
cd .\Binary\x64\
fsutil file createnew FIX-VCRUNTIME140-ERROR.txt 0
echo "Download and install this: https://aka.ms/vs/16/release/vc_redist.x64.exe" > .\FIX-VCRUNTIME140-ERROR.txt
- name: "Add Playback codes"
working-directory: ${{ github.workspace }}
if: matrix.build_type == 'Playback'
run: |
Xcopy /Y /E /I .\Data\Sys .\Binary\x64\Sys
Xcopy /Y /E /I .\Data\PlaybackGeckoCodes\* .\Binary\x64\Sys\GameSettings\
- name: Package Artifact
working-directory: ${{ github.workspace }}
run: |
$FILE_NAME="${{ env.CURR_DATE }}-${{ env.GIT_HASH }}-${{ env.GIT_TAG }}-${{ matrix.artifact_name }}.zip"
mkdir artifact
cd .\Binary\x64\
fsutil file createnew portable.txt 0
7z a $FILE_NAME .\*
move $FILE_NAME ..\..\artifact\
- name: "Publish"
if: success()
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.artifact_name }}
path: "./artifact/"
linux:
strategy:
fail-fast: false