Test wine install #75
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: '11' | |
- name: Disable annotations | |
run: echo "::remove-matcher owner=csc::" | |
- name: install wine64 on linux | |
run: sudo apt install wine64 p7zip-full curl | |
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 | |
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: Test Wine | |
run: wine64 dotnet --info | |
env: | |
WINEPREFIX: /home/runner/.winemonogame | |
if: runner.os == 'Linux' | |
- name: Test Wine | |
run: wine64 dotnet --info | |
env: | |
WINEPREFIX: /Users/runner/.winemonogame | |
if: runner.os == 'macOS' | |
- name: Install x64 dotnet | |
run: | | |
wget https://dot.net/v1/dotnet-install.sh | |
chmod u+x dotnet-install.sh | |
./dotnet-install.sh --architecture x64 --install-dir ${{github.workspace}}/dotnet64 --version latest | |
if: runner.os != 'Windows' | |
- name: Install required workloads | |
run: | | |
if [ "$RUNNER_OS" == "Linux" ]; then | |
${{github.workspace}}/dotnet64/dotnet workload install android | |
elif [ "$RUNNER_OS" == "Windows" ]; then | |
dotnet.exe workload install android ios macos | |
else | |
${{github.workspace}}/dotnet64/dotnet workload install android ios macos | |
fi | |
shell: bash | |
- name: Build | |
run: ${{github.workspace}}/dotnet64/dotnet run --project build/Build.csproj -- --target=Default | |
if: runner.os != 'Windows' | |
- name: Build | |
run: dotnet run --project build/Build.csproj -- --target=Default | |
if: runner.os == 'Windows' | |
- name: Test | |
run: ${{github.workspace}}/dotnet64/dotnet test Tools/MonoGame.Tools.Tests/MonoGame.Tools.Tests.csproj -p:WarningLevel=0 -v:d -tl:off --blame-hang-timeout 1m | |
env: | |
DOTNET_ROOT: ${{github.workspace}}/dotnet64 | |
MGFXC_WINE_PATH: /home/runner/.winemonogame | |
if: runner.os == 'Linux' | |
- name: Test | |
run: ${{github.workspace}}/dotnet64/dotnet test Tools/MonoGame.Tools.Tests/MonoGame.Tools.Tests.csproj -p:WarningLevel=0 -v:d -tl:off --blame-hang-timeout 1m | |
env: | |
DOTNET_ROOT: ${{github.workspace}}/dotnet64 | |
MGFXC_WINE_PATH: /Users/runner/.winemonogame | |
if: runner.os == 'macOS' | |
- name: Test | |
run: dotnet test Tools/MonoGame.Tools.Tests/MonoGame.Tools.Tests.csproj -p:WarningLevel=0 -v:d -tl:off --blame-hang-timeout 1m | |
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 GitHub Nugets | |
run: dotnet run --project build/Build.csproj -- --target=DeployNuGetsToGithub | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |