AppInstance.Start location is now set
#2124
Workflow file for this run
This file contains hidden or 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
| # 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 |