forked from MonoGame/MonoGame
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/develop' into native
# Conflicts: # .vscode/tasks.json
- Loading branch information
Showing
83 changed files
with
1,230 additions
and
208 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,7 +34,7 @@ jobs: | |
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'microsoft' | ||
java-version: '11' | ||
java-version: '17' | ||
|
||
- name: Install Vulkan SDK | ||
uses: humbletim/[email protected] | ||
|
@@ -45,20 +45,72 @@ jobs: | |
- name: Disable annotations | ||
run: echo "::remove-matcher owner=csc::" | ||
|
||
- name: install wine64 on linux | ||
run: | | ||
sudo apt install p7zip-full curl | ||
sudo dpkg --add-architecture i386 | ||
sudo mkdir -pm755 /etc/apt/keyrings | ||
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key | ||
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources | ||
sudo apt update && sudo apt install --install-recommends winehq-stable | ||
if: runner.os == 'Linux' | ||
|
||
- name: Install Arial Font | ||
run: | | ||
echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | sudo debconf-set-selections | ||
sudo apt install -y ttf-mscorefonts-installer | ||
sudo fc-cache | ||
fc-match Arial | ||
if: runner.os == 'Linux' | ||
|
||
- name: install wine64 on macos | ||
run: | | ||
brew install wine-stable p7zip freeimage freetype | ||
sudo mkdir -p /usr/local/lib | ||
sudo ln -s /opt/homebrew/lib/libfreetype.dylib /usr/local/lib/libfreetype6.dylib | ||
sudo ln -s /opt/homebrew/lib/libfreeimage.dylib /usr/local/lib/libfreeimage.dylib | ||
if: runner.os == 'macOS' | ||
|
||
- name: Setup Wine | ||
run: wget -qO- https://monogame.net/downloads/net9_mgfxc_wine_setup.sh | bash | ||
if: runner.os != 'Windows' | ||
|
||
- name: Install required workloads | ||
run: | | ||
if [ "$RUNNER_OS" == "Linux" ]; then | ||
echo "MICROSOFT SUPPORT ANDROID WORKLOAD ON LINUX PLZZZ!" | ||
dotnet workload install android | ||
elif [ "$RUNNER_OS" == "Windows" ]; then | ||
dotnet.exe workload install android ios macos | ||
else | ||
dotnet workload install android ios macos | ||
dotnet workload install android | ||
fi | ||
shell: bash | ||
|
||
- name: Build | ||
run: dotnet run --project build/Build.csproj -- --target=Default | ||
|
||
- name: Test | ||
run: dotnet test Tools/MonoGame.Tools.Tests/MonoGame.Tools.Tests.csproj --blame-hang-timeout 1m -c Release --filter="TestCategory!=Audio" | ||
env: | ||
DOTNET_ROOT: ${{github.workspace}}/dotnet64 | ||
MGFXC_WINE_PATH: /home/runner/.winemonogame | ||
CI: true | ||
if: runner.os == 'Linux' | ||
|
||
- name: Test | ||
run: dotnet test Tools/MonoGame.Tools.Tests/MonoGame.Tools.Tests.csproj --blame-hang-timeout 1m -c Release --filter="TestCategory!=Audio" | ||
env: | ||
DOTNET_ROOT: ${{github.workspace}}/dotnet64 | ||
MGFXC_WINE_PATH: /Users/runner/.winemonogame | ||
CI: true | ||
if: runner.os == 'macOS' | ||
|
||
- name: Test | ||
run: dotnet test Tools/MonoGame.Tools.Tests/MonoGame.Tools.Tests.csproj --blame-hang-timeout 1m -c Release | ||
env: | ||
CI: true | ||
if: runner.os == 'Windows' | ||
|
||
- name: Expose GitHub Runtime | ||
uses: crazy-max/ghaction-github-runtime@v3 | ||
|
||
|
@@ -103,3 +155,292 @@ jobs: | |
removeArtifacts: true | ||
artifacts: "nugets/*.nupkg" | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
tests: | ||
name: tests-${{ matrix.os }} | ||
needs: [ build ] | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
include: | ||
- os: windows | ||
platform: windows | ||
- os: macos | ||
platform: macos | ||
- os: ubuntu-latest | ||
platform: linux | ||
filter: --where="Category != Audio" | ||
# - os: linux | ||
# platform: linux | ||
fail-fast: false | ||
steps: | ||
- name: Clone repository | ||
uses: actions/checkout@v4 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }} | ||
uses: actions/setup-dotnet@v4 | ||
with: | ||
dotnet-version: '8.0.x' | ||
|
||
- name: install wine64 on linux | ||
run: | | ||
sudo apt install p7zip-full curl | ||
sudo dpkg --add-architecture i386 | ||
sudo mkdir -pm755 /etc/apt/keyrings | ||
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key | ||
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources | ||
sudo apt update && sudo apt install --install-recommends winehq-stable | ||
if: runner.os == 'Linux' && runner.environment == 'github-hosted' | ||
|
||
- name: Install Arial Font | ||
run: | | ||
echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | sudo debconf-set-selections | ||
sudo apt install -y ttf-mscorefonts-installer | ||
sudo fc-cache | ||
fc-match Arial | ||
if: runner.os == 'Linux' && runner.environment == 'github-hosted' | ||
|
||
- name: Setup Wine | ||
run: wget -qO- https://monogame.net/downloads/net9_mgfxc_wine_setup.sh | bash | ||
if: runner.os != 'Windows' && runner.environment == 'github-hosted' | ||
|
||
- name: Download tests-tools-${{ matrix.platform }} | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: tests-tools-${{ matrix.platform }} | ||
path: tests-tools | ||
|
||
- name: Download tests-desktopgl-${{ matrix.platform }} | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: tests-desktopgl-${{ matrix.platform }} | ||
path: tests-desktopgl | ||
|
||
- name: Download tests-windowsdx-${{ matrix.platform }} | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: tests-windowsdx-${{ matrix.platform }} | ||
path: tests-windowsdx | ||
if: runner.os == 'Windows' | ||
|
||
- name: Install Tools | ||
run: | | ||
dotnet tool install --create-manifest-if-needed mgcb-basisu | ||
dotnet tool install --create-manifest-if-needed mgcb-crunch | ||
- name: Run Tools Tests | ||
run: dotnet test tests-tools/MonoGame.Tools.Tests.dll --blame-hang-timeout 1m --filter="TestCategory!=Effects" | ||
env: | ||
CI: true | ||
|
||
- name: Run DirectX Tests | ||
shell: cmd | ||
run: dotnet MonoGame.Tests.dll | ||
env: | ||
CI: true | ||
working-directory: tests-windowsdx | ||
if: runner.os == 'Windows' | ||
|
||
# Run the DesktopGL tests on all platforms using NUnitLite runner not dotnet test | ||
# We have to run this is bits because the tests crash if too many are run in one go? | ||
- name: Run Framework Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Framework ${{matrix.filter}} | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
|
||
- name: Run Audio Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Audio | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Input Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Input | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
|
||
- name: Run Visual Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Visual | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
|
||
- name: Run Game Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --where="Category = GameTest" | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
|
||
- name: Run Graphics.BlendStateTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.BlendStateTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.DepthStencilStateTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.DepthStencilStateTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.EffectTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.EffectTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.GraphicsAdapterTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.GraphicsAdapterTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
# This test hangs on MacOS? | ||
# - name: Run Graphics.GraphicsDeviceTest Tests | ||
# run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.GraphicsDeviceTest | ||
# env: | ||
# CI: true | ||
# working-directory: tests-desktopgl | ||
# if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.IndexBufferTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.IndexBufferTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.MiscellaneousTests Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.MiscellaneousTests | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.ModelTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.ModelTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.OcclusionQueryTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.OcclusionQueryTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.RasterizerStateTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.RasterizerStateTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.RenderTarget2DTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.RenderTarget2DTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.RenderTargetCubeTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.RenderTargetCubeTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.SamplerStateTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.SamplerStateTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.ScissorRectangleTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.ScissorRectangleTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.ShaderTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.ShaderTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.SpriteBatchTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.SpriteBatchTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.SpriteFontTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.SpriteFontTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.Texture2DNonVisualTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.Texture2DNonVisualTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.Texture2DTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.Texture2DTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.Texture3DNonVisualTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.Texture3DNonVisualTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.Texture3DTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.Texture3DTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.TextureCubeTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.TextureCubeTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.VertexBufferTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.VertexBufferTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' | ||
|
||
- name: Run Graphics.ViewportTest Tests | ||
run: dotnet MonoGame.Tests.dll --timeout=300000 --test MonoGame.Tests.Graphics.ViewportTest | ||
env: | ||
CI: true | ||
working-directory: tests-desktopgl | ||
if: runner.environment != 'github-hosted' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.