89 lines
2.8 KiB
YAML
89 lines
2.8 KiB
YAML
name: Mobile Apps CI
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'apps/app-client-base-net/**'
|
|
- 'apps/app-client-base-swift/**'
|
|
- 'apps/web-client-base-net/**'
|
|
- 'apps/web-client-tpos-net/**'
|
|
- 'apps/web-client-eggymon-landipage-net/**'
|
|
pull_request:
|
|
paths:
|
|
- 'apps/app-client-base-net/**'
|
|
- 'apps/app-client-base-swift/**'
|
|
- 'apps/web-client-base-net/**'
|
|
- 'apps/web-client-tpos-net/**'
|
|
- 'apps/web-client-eggymon-landipage-net/**'
|
|
|
|
jobs:
|
|
dotnet-client-apps:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
project:
|
|
- apps/web-client-base-net/src/WebClientBase.Server/WebClientBase.Server.csproj
|
|
- apps/web-client-tpos-net/src/WebClientTpos.Server/WebClientTpos.Server.csproj
|
|
- apps/web-client-eggymon-landipage-net/src/EggymonLandingPage.Server/EggymonLandingPage.Server.csproj
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '10.0.x'
|
|
|
|
- name: Restore
|
|
run: dotnet restore ${{ matrix.project }}
|
|
|
|
- name: Build
|
|
run: dotnet build ${{ matrix.project }} --configuration Release --no-restore
|
|
|
|
dotnet-client-app-tests:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
project:
|
|
- apps/app-client-base-net/tests/AppClientBase.UnitTests/AppClientBase.UnitTests.csproj
|
|
- apps/web-client-base-net/tests/WebClientBase.SmokeTests/WebClientBase.SmokeTests.csproj
|
|
- apps/web-client-tpos-net/tests/WebClientTpos.SmokeTests/WebClientTpos.SmokeTests.csproj
|
|
- apps/web-client-eggymon-landipage-net/tests/EggymonLandingPage.SmokeTests/EggymonLandingPage.SmokeTests.csproj
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '10.0.x'
|
|
|
|
- name: Restore tests
|
|
run: dotnet restore ${{ matrix.project }}
|
|
|
|
- name: Run tests
|
|
run: dotnet test ${{ matrix.project }} --configuration Release --no-restore
|
|
|
|
swift-client-app:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Run Swift smoke tests
|
|
run: swift test --package-path apps/app-client-base-swift/smoke-tests
|
|
|
|
- name: Build Swift iOS app
|
|
run: |
|
|
xcodebuild \
|
|
-project apps/app-client-base-swift/AppClientBaseSwift/AppClientBaseSwift.xcodeproj \
|
|
-scheme AppClientBaseSwift \
|
|
-sdk iphonesimulator \
|
|
-destination 'platform=iOS Simulator,name=iPhone 16' \
|
|
build
|
|
|
|
maui-project-validation:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Validate MAUI project file exists
|
|
run: test -f apps/app-client-base-net/AppClientBase.csproj
|