1010 branches : [ "main" ]
1111
1212jobs :
13- build-nuget- and-tests :
14- name : Build Nuget and Run Tests
13+ build-and-test :
14+ name : Build and Run Tests
1515 strategy :
1616 fail-fast : false
1717 matrix :
2626 - name : Setup .NET
2727 uses : actions/setup-dotnet@v6
2828 with :
29- dotnet-version : 9 .0.x
29+ dotnet-version : 10 .0.x
3030 - name : Install and Configure Keyring
3131 if : ${{ matrix.os == 'ubuntu-latest' }}
3232 run : |
@@ -43,19 +43,19 @@ jobs:
4343 run : dotnet restore MSStore.CLI.sln /p:Configuration=Release
4444 - name : Build
4545 run : dotnet build MSStore.CLI.sln --no-restore /p:Configuration=Release
46- - name : Test net9 .0
47- run : dotnet run --project MSStore.CLI.UnitTests -f net9 .0 --no-build -c Release --coverage --coverage-output-format cobertura --report-trx --results-directory ./TestResults
48- - name : Test net9 .0-windows10.0.17763.0
46+ - name : Test net10 .0
47+ run : dotnet run --project MSStore.CLI.UnitTests -f net10 .0 --no-build -c Release --coverage --coverage-output-format cobertura --report-trx --results-directory ./TestResults
48+ - name : Test net10 .0-windows10.0.17763.0
4949 if : ${{ matrix.os == 'windows-latest' }}
50- run : dotnet run --project MSStore.CLI.UnitTests -f net9 .0-windows10.0.17763.0 --no-build -c Release --coverage --coverage-output-format cobertura --report-trx --results-directory ./TestResults
50+ run : dotnet run --project MSStore.CLI.UnitTests -f net10 .0-windows10.0.17763.0 --no-build -c Release --coverage --coverage-output-format cobertura --report-trx --results-directory ./TestResults
5151 - name : Publish test results
5252 if : ${{ !cancelled() }}
5353 uses : actions/upload-artifact@v7
5454 with :
5555 name : test-results-${{ matrix.os }}
5656 path : TestResults/*.trx
5757 - name : Install ReportGenerator
58- run : dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.4.11
58+ run : dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.5.1
5959 - name : Merge code coverage files
6060 run : reportgenerator "-reports:${{ github.workspace }}/**/*.cobertura.xml" "-targetdir:${{ github.workspace }}/report" "-reporttypes:Cobertura" "-filefilters:-*GenerationContext*.g.cs"
6161 - name : Publish code coverage results
6464 name : Cobertura-${{ matrix.os }}
6565 path : ${{ github.workspace }}/report/Cobertura.xml
6666 # TODO: Publish github comment with code coverage
67- - name : Pack NuGet
68- if : ${{ matrix.os == 'ubuntu-latest' }}
69- run : dotnet pack MSStore.API --no-build -c Release
70- - name : Upload Artifact - NuGet
71- if : ${{ matrix.os == 'ubuntu-latest' }}
72- uses : actions/upload-artifact@v7
73- with :
74- name : NuGet
75- path : MSStore.API/bin/Release/*.nupkg
7667
7768 build-cli :
7869 strategy :
@@ -84,13 +75,13 @@ jobs:
8475 include :
8576 - os : windows-latest
8677 dotnet-os : win
87- dotnet-framework : net9 .0-windows10.0.17763.0
78+ dotnet-framework : net10 .0-windows10.0.17763.0
8879 - os : ubuntu-latest
8980 dotnet-os : linux
90- dotnet-framework : net9 .0
81+ dotnet-framework : net10 .0
9182 - os : macos-latest
9283 dotnet-os : osx
93- dotnet-framework : net9 .0
84+ dotnet-framework : net10 .0
9485 runs-on : ${{ matrix.os }}
9586
9687 name : Build CLI - ${{ matrix.dotnet-os }}-${{ matrix.dotnet-arch }}
@@ -102,20 +93,25 @@ jobs:
10293 - name : Setup .NET
10394 uses : actions/setup-dotnet@v6
10495 with :
105- dotnet-version : 9 .0.x
96+ dotnet-version : 10 .0.x
10697 - name : Add msbuild to PATH
10798 if : ${{ matrix.os == 'windows-latest' }}
10899 uses : microsoft/setup-msbuild@v3
109100 - name : Install NBGV tool
110101 run : dotnet tool install --tool-path . nbgv
111102 - name : Set Version
112103 run : ./nbgv cloud
113- - name : Restore CLI
114- run : dotnet restore MSStore.CLI -r ${{ matrix.dotnet-os }}-${{ matrix.dotnet-arch }} /p:Configuration=Release /p:PublishReadyToRun=true
115- - name : Build CLI
116- run : dotnet build MSStore.CLI --no-restore --no-self-contained -r ${{ matrix.dotnet-os }}-${{ matrix.dotnet-arch }} -f ${{ matrix.dotnet-framework }} /p:Configuration=Release
104+ - name : Install linux-arm64 NativeAOT toolchain
105+ if : ${{ matrix.os == 'ubuntu-latest' && matrix.dotnet-arch == 'arm64' }}
106+ run : |
107+ sudo apt-get update
108+ sudo apt-get install -y \
109+ clang llvm lld \
110+ binutils-aarch64-linux-gnu \
111+ gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
112+ libc6-dev-arm64-cross
117113 - name : Publish SelfContained CLI
118- run : dotnet publish MSStore.CLI --no-build --no- self-contained -r ${{ matrix.dotnet-os }}-${{ matrix.dotnet-arch }} -f ${{ matrix.dotnet-framework }} /p:Configuration=Release /p:PublishProfile=${{ matrix.dotnet-os }}-${{ matrix.dotnet-arch }}
114+ run : dotnet publish MSStore.CLI --self-contained -r ${{ matrix.dotnet-os }}-${{ matrix.dotnet-arch }} -f ${{ matrix.dotnet-framework }} /p:Configuration=Release /p:PublishProfile=${{ matrix.dotnet-os }}-${{ matrix.dotnet-arch }}
119115 - run : |
120116 New-Item -ItemType File -Path ".\MSStore.CLI.MSIX\obj\${{ matrix.dotnet-arch }}\appxmanifest.xml" -Force
121117 Copy-Item ".\MSStore.CLI.MSIX\Package.appxmanifest" -Destination ".\MSStore.CLI.MSIX\obj\${{ matrix.dotnet-arch }}\appxmanifest.xml" -Force
0 commit comments