Fixed NormalizedByte4 and Short2 packing #185
Workflow file for this run
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
name: Build | |
on: [push, pull_request] | |
jobs: | |
build: | |
name: build-${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-latest, macos-latest, ubuntu-latest] | |
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: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'microsoft' | |
java-version: '17' | |
- 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/net8_mgfxc_wine_setup.sh | bash | |
if: runner.os != 'Windows' | |
- name: Install required workloads | |
run: | | |
if [ "$RUNNER_OS" == "Linux" ]; then | |
dotnet workload install android | |
elif [ "$RUNNER_OS" == "Windows" ]; then | |
dotnet.exe workload install android ios macos | |
else | |
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 & TestCategory!=Effects" | |
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 & TestCategory!=Effects" | |
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 | |
- name: Upload Artifacts | |
run: dotnet run --project build/Build.csproj -- --target=UploadArtifacts | |
env: | |
ACTIONS_RUNTIME_TOKEN: ${{ env.ACTIONS_RUNTIME_TOKEN }} | |
ACTIONS_RUNTIME_URL: "${{ env.ACTIONS_RUNTIME_URL }}" | |
deploy: | |
name: Deploy | |
needs: [ build ] | |
runs-on: ubuntu-latest | |
if: ${{ github.event_name == 'push' }} | |
permissions: | |
packages: write | |
contents: write | |
steps: | |
- name: Clone Repository | |
uses: actions/checkout@v4 | |
- name: Setup .NET ${{ matrix.dotnet-version }} | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Expose GitHub Runtime | |
uses: crazy-max/ghaction-github-runtime@v3 | |
- name: Push Nugets | |
run: dotnet run --project build/Build.csproj -- --target=Deploy | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} | |
- name: Make a Release | |
if: github.ref_type == 'tag' | |
uses: ncipollo/release-action@v1 | |
with: | |
name: 'MonoGame ${{ github.ref_name }}' | |
tag: ${{ github.ref_name }} | |
allowUpdates: true | |
removeArtifacts: true | |
artifacts: "nugets/*.nupkg" | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tests: | |
name: tests-${{ matrix.os }} | |
needs: [ build ] | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows, macos] | |
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: Download tools tests | |
uses: actions/download-artifact@v3 | |
with: | |
name: tests-tools-${{ matrix.os }} | |
path: tests-tools | |
- name: Download the tests | |
uses: actions/download-artifact@v3 | |
with: | |
name: tests-desktopgl-${{ matrix.os }} | |
path: tests-desktopgl | |
- name: Download the tests | |
uses: actions/download-artifact@v3 | |
with: | |
name: tests-windowsdx-${{ matrix.os }} | |
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 | |
# 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 --test MonoGame.Tests.Framework | |
env: | |
CI: true | |
working-directory: tests-desktopgl | |
- name: Run Audio Tests | |
run: dotnet MonoGame.Tests.dll --test MonoGame.Tests.Audio | |
env: | |
CI: true | |
working-directory: tests-desktopgl | |
- name: Run Input Tests | |
run: dotnet MonoGame.Tests.dll --test MonoGame.Tests.Input | |
env: | |
CI: true | |
working-directory: tests-desktopgl | |
- name: Run Visual Tests | |
run: dotnet MonoGame.Tests.dll --test MonoGame.Tests.Visual | |
env: | |
CI: true | |
working-directory: tests-desktopgl | |
- name: Run Graphics Tests | |
run: dotnet MonoGame.Tests.dll --test MonoGame.Tests.Graphics | |
env: | |
CI: true | |
working-directory: tests-desktopgl | |
- name: Run Game Tests | |
run: dotnet MonoGame.Tests.dll --test MonoGame.Tests.GameTest | |
env: | |
CI: true | |
working-directory: tests-desktopgl | |
- name: Run Tests | |
run: dotnet MonoGame.Tests.dll | |
env: | |
CI: true | |
working-directory: tests-windowsdx | |
if: runner.os == 'Windows' |