Skip to content

Create CI Pipeline

Create CI Pipeline #11

Workflow file for this run

name: MAUI Continuous Integration
on:
pull_request:
branches:
- master
push:
branches:
- master
jobs:
# Probably need to work out what issues this presents re: cross-platform tests... Cross that when we get there
run-tests:
name: "Run Tests"
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.x
- name: Install MAUI Workloads
run: dotnet workload install maui
- name: Run Tests
run: dotnet test ./src/OpenEqiSports.sln
build-android:
name: "Build Android"
needs: run-tests
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.x
- name: Install MAUI Workloads
run: |
dotnet workload install maui
dotnet workload install android
- name: Restore Dependencies
run: dotnet restore ./src/OpenEqiSports/OpenEqiSports.csproj
- name: Build Android
run: dotnet build ./src/OpenEqiSports/OpenEqiSports.csproj -c Release -f net8.0-android --no-restore
- name: Upload Android Artifact
uses: actions/upload-artifact@v2
with:
name: OpenEqiSports-Android
path: ./src/OpenEqiSports/bin/Release/net8.0-android/*Signed.a*
build-windows:
name: "Build Windows"
needs: run-tests
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.x
- name: Install MAUI Workloads
run: dotnet workload install maui
- name: Restore Dependencies
run: dotnet restore ./src/OpenEqiSports/OpenEqiSports.csproj
- name: Build Windows
run: dotnet build ./src/OpenEqiSports/OpenEqiSports.csproj -c Release -f net8.0-windows --no-restore
- name: Upload Windows Artifact
uses: actions/upload-artifact@v2
with:
name: OpenEqiSports-Windows
path: ./src/OpenEqiSports/bin/Release/net8.0-windows*/**/OpenEqiSports*.msix
build-ios:
name: "Build iOS"
needs: run-tests
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.x
- name: Install MAUI Workloads
run: |
dotnet workload install maui
dotnet workload install ios
- name: Restore Dependencies
run: dotnet restore ./src/OpenEqiSports/OpenEqiSports.csproj
- name: Build iOS
run: dotnet build ./src/OpenEqiSports/OpenEqiSports.csproj -c Release -f net8.0-ios --no-restore
- name: Upload iOS Artifact
uses: actions/upload-artifact@v2
with:
name: OpenEqiSports-iOS
path: ./src/OpenEqiSports/bin/Release/net8.0-ios/**/*.app/
build-maccatalyst:
name: "Build MacCatalyst"
needs: run-tests
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.x
- name: Install MAUI Workloads
run: |
dotnet workload install maui
dotnet workload install maccatalyst
- name: Restore Dependencies
run: dotnet restore ./src/OpenEqiSports/OpenEqiSports.csproj
- name: Build MacCatalyst
run: dotnet build ./src/OpenEqiSports/OpenEqiSports.csproj -c Release -f net8.0-maccatalyst --no-restore
- name: Upload MacCatalyst Artifact
uses: actions/upload-artifact@v2
with:
name: OpenEqiSports-MacCatalyst
path: ./src/OpenEqiSports/bin/Release/net8.0-maccatalyst/**/*.app/