CI: Sync workflow setup with master

This commit is contained in:
Eugene Sandulenko 2020-10-07 02:19:47 +02:00
parent 3b3f79020a
commit 7dec925f1f

View file

@ -1,5 +1,7 @@
name: CI name: CI
on: [push, pull_request] on: [push, pull_request]
# schedule:
# - cron: '0 0-23/4 * * *'
jobs: jobs:
windows: windows:
name: Windows name: Windows
@ -12,22 +14,22 @@ jobs:
triplet: x86-windows triplet: x86-windows
arch: x86 arch: x86
# fribidi is disabled due to timeouts when installing the package # fribidi is disabled due to timeouts when installing the package
configFlags: --enable-faad --enable-mpeg2 --disable-fribidi configFlags: --enable-faad --enable-mpeg2 --enable-discord --disable-fribidi
vcpkgPackages: 'curl faad2 fluidsynth freetype libflac libjpeg-turbo libmad libmpeg2 libogg libpng libtheora libvorbis sdl2 sdl2-net zlib' vcpkgPackages: 'curl discord-rpc faad2 fluidsynth freetype libflac libjpeg-turbo libmad libmpeg2 libogg libpng libtheora libvorbis sdl2 sdl2-net zlib'
useNasm: 'true' useNasm: 'true'
- platform: x64 - platform: x64
arch: x64 arch: x64
triplet: x64-windows triplet: x64-windows
# fribidi is disabled due to timeouts when installing the package # fribidi is disabled due to timeouts when installing the package
configFlags: --enable-faad --enable-mpeg2 --disable-fribidi configFlags: --enable-faad --enable-mpeg2 --enable-discord --disable-fribidi
vcpkgPackages: 'curl faad2 fluidsynth freetype libflac libjpeg-turbo libmad libmpeg2 libogg libpng libtheora libvorbis sdl2 sdl2-net zlib' vcpkgPackages: 'curl discord-rpc faad2 fluidsynth freetype libflac libjpeg-turbo libmad libmpeg2 libogg libpng libtheora libvorbis sdl2 sdl2-net zlib'
- platform: arm64 - platform: arm64
arch: arm64 arch: arm64
triplet: arm64-windows triplet: arm64-windows
# fribidi is disabled due to https://github.com/microsoft/vcpkg/issues/11248 [fribidi] Fribidi doesn't cross-compile on x86-64 to target arm/arm64 # fribidi is disabled due to https://github.com/microsoft/vcpkg/issues/11248 [fribidi] Fribidi doesn't cross-compile on x86-64 to target arm/arm64
# Note that fribidi is also disabled on arm64 in devtools/create_project/msvc.cpp # Note that fribidi is also disabled on arm64 in devtools/create_project/msvc.cpp
configFlags: --enable-faad --enable-mpeg2 --disable-fribidi configFlags: --enable-faad --enable-mpeg2 --enable-discord --disable-fribidi
vcpkgPackages: 'curl faad2 fluidsynth freetype libflac libjpeg-turbo libmad libmpeg2 libogg libpng libtheora libvorbis sdl2 sdl2-net zlib' vcpkgPackages: 'curl discord-rpc faad2 fluidsynth freetype libflac libjpeg-turbo libmad libmpeg2 libogg libpng libtheora libvorbis sdl2 sdl2-net zlib'
env: env:
CONFIGURATION: Release CONFIGURATION: Release
PLATFORM: ${{ matrix.platform }} PLATFORM: ${{ matrix.platform }}
@ -43,11 +45,11 @@ jobs:
vcpkgGitCommitId: 2f7a104d4d6f1f3790db929f85a4086aa6973d7f vcpkgGitCommitId: 2f7a104d4d6f1f3790db929f85a4086aa6973d7f
vcpkgTriplet: '${{ matrix.triplet }}' vcpkgTriplet: '${{ matrix.triplet }}'
vcpkgArguments: '${{ matrix.vcpkgPackages }}' vcpkgArguments: '${{ matrix.vcpkgPackages }}'
- name: Upload libs # - name: Upload libs
uses: actions/upload-artifact@v2 # uses: actions/upload-artifact@v2
with: # with:
name: libs-${{ matrix.triplet }} # name: libs-${{ matrix.triplet }}
path: ${{ steps.runvcpkg.outputs.RUNVCPKG_VCPKG_ROOT_OUT }}\\installed\\${{ matrix.triplet }} # path: ${{ steps.runvcpkg.outputs.RUNVCPKG_VCPKG_ROOT_OUT }}\\installed\\${{ matrix.triplet }}
- name: Build create_project - name: Build create_project
run: | run: |
cd devtools/create_project/cmake cd devtools/create_project/cmake
@ -71,23 +73,66 @@ jobs:
cd build-scummvm cd build-scummvm
ls ls
msbuild scummvm.sln /m /p:BuildInParallel=true /p:Configuration=Release /p:PreferredToolArchitecture=x64 /p:Platform=${{ matrix.platform }} msbuild scummvm.sln /m /p:BuildInParallel=true /p:Configuration=Release /p:PreferredToolArchitecture=x64 /p:Platform=${{ matrix.platform }}
- name: Upload scummvm # - name: Upload scummvm
uses: actions/upload-artifact@v2 # uses: actions/upload-artifact@v2
with: # with:
name: scummvm-${{ matrix.arch }} # name: scummvm-${{ matrix.arch }}
path: build-scummvm/Release${{ matrix.arch }}/*.exe # path: build-scummvm/Release${{ matrix.arch }}/*.exe
- name: Upload scummvm libs # - name: Upload scummvm libs
uses: actions/upload-artifact@v2 # uses: actions/upload-artifact@v2
with: # with:
name: scummvm-${{ matrix.arch }} # name: scummvm-${{ matrix.arch }}
path: ${{ steps.runvcpkg.outputs.RUNVCPKG_VCPKG_ROOT_OUT }}\\installed\\${{ matrix.triplet }}\\bin\\*.dll # path: ${{ steps.runvcpkg.outputs.RUNVCPKG_VCPKG_ROOT_OUT }}\\installed\\${{ matrix.triplet }}\\bin\\*.dll
- name: Upload scummvm symbols # - name: Upload scummvm symbols
uses: actions/upload-artifact@v2 # uses: actions/upload-artifact@v2
with: # with:
name: symbols-${{ matrix.arch }} # name: symbols-${{ matrix.arch }}
path: build-scummvm/Release${{ matrix.arch }}/*.pdb # path: build-scummvm/Release${{ matrix.arch }}/*.pdb
- name: Upload scummvm libs symbols # - name: Upload scummvm libs symbols
uses: actions/upload-artifact@v2 # uses: actions/upload-artifact@v2
with: # with:
name: symbols-${{ matrix.arch }} # name: symbols-${{ matrix.arch }}
path: ${{ steps.runvcpkg.outputs.RUNVCPKG_VCPKG_ROOT_OUT }}\\installed\\${{ matrix.triplet }}\\bin\\*.pdb # path: ${{ steps.runvcpkg.outputs.RUNVCPKG_VCPKG_ROOT_OUT }}\\installed\\${{ matrix.triplet }}\\bin\\*.pdb
xcode:
name: Xcode
runs-on: macOS-latest
strategy:
fail-fast: false
matrix:
include:
- platform: macosx
buildFlags: -scheme ScummVM-macOS
configFlags: --disable-nasm --enable-faad --enable-mpeg2
brewPackages: a52dec faad2 flac fluid-synth freetype fribidi mad libmpeg2 libogg libpng libvorbis sdl2 sdl2_net theora
- platform: ios7
buildFlags: -scheme ScummVM-iOS CODE_SIGN_IDENTITY="" CODE_SIGNING_ALLOWED=NO
configFlags: --disable-nasm --disable-opengl --disable-theora --disable-taskbar --disable-tts --disable-fribidi
packagesUrl: https://www.scummvm.org/frs/build/scummvm-ios7-libs-v2.zip
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install packages
if: ${{ matrix.brewPackages }}
run: brew install ${{ matrix.brewPackages }}
- name: Download libraries
if: ${{ matrix.packagesUrl }}
run: |
curl -L -o libs.zip ${{ matrix.packagesUrl }}
unzip libs.zip
ls
- name: Select Xcode
run: sudo xcode-select -switch /Applications/Xcode_10.3.app && /usr/bin/xcodebuild -version
- name: Build create_project
run: |
cd devtools/create_project/xcode
xcodebuild
ls
cd ../../../
- name: Call create_project
run: |
./devtools/create_project/xcode/build/Release/create_project . --xcode --enable-all-engines ${{ matrix.configflags }}
ls
- name: Build scummvm
run: |
xcodebuild build -project scummvm.xcodeproj ${{ matrix.buildFlags }}
ls