Skip to content

AppInstance.Start location is now set #2124

AppInstance.Start location is now set

AppInstance.Start location is now set #2124

Workflow file for this run

# CI workflow for PRs and merges to master
name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
permissions:
contents: read
jobs:
build:
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.os != 'Windows' }}
env:
DOTNET_NOLOGO: true
# Pre-define global MSBuild properties
Configuration: Debug
# Ensure versioning is forced to a non-production version for CI builds
VersionSuffix: ${{ github.event_name == 'pull_request' && 'pr' || 'ci' }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
lfs: true
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: '8.0.x'
# Setup .NET SDK (installs .NET 10.0 via global.json)
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
global-json-file: 'global.json'
- name: Display .NET info
run: dotnet --info
- name: Build PASopa.sln
run: dotnet build src/PASopa.sln
# Pack so we can validate there are no warnings/errors
# We must explicitly set the configuration parameter otherwise it defaults to Release
# Packages will include all target frameworks (net48, net8.0, net10.0 for Persistence projects)
# Note: On Windows, net48 binaries are included; on Ubuntu, net48 build is skipped but pack succeeds
- name: Pack - Formulas.Tools
run: dotnet pack --no-build -c ${{ env.Configuration }} src/PAModel/Microsoft.PowerPlatform.Formulas.Tools.csproj
- name: Pack - Persistence
run: dotnet pack --no-build -c ${{ env.Configuration }} src/Persistence/Microsoft.PowerPlatform.PowerApps.Persistence.csproj
- name: Pack - Persistence.Testing
run: dotnet pack --no-build -c ${{ env.Configuration }} src/Persistence.Testing/Microsoft.PowerPlatform.PowerApps.Persistence.Testing.csproj
# Run tests for all target frameworks
# On Windows: run all projects and frameworks together
- name: Test - PASopa.sln (Windows - all frameworks)
if: runner.os == 'Windows'
run: dotnet test --no-build --solution src/PASopa.sln
# On non-Windows: run test projects individually, since they don't all support the same TFMs
# We are only testing the main test projects & frameworks on Ubuntu
- name: Test - Persistence.Tests (net10.0)
if: runner.os != 'Windows'
run: dotnet test --no-build --project src/Persistence.Tests/Persistence.Tests.csproj --framework net10.0
continue-on-error: true
- name: Test - PAModelTests (net10.0)
if: runner.os != 'Windows'
run: dotnet test --no-build --project src/PAModelTests/PAModelTests.csproj --framework net10.0
continue-on-error: true