|
1 |
| -name: Build and Release |
| 1 | +name: Build |
2 | 2 |
|
3 | 3 | on:
|
4 | 4 | push:
|
5 | 5 | branches: [ main ]
|
6 |
| - |
| 6 | + |
7 | 7 | env:
|
8 |
| - configuration: Release |
9 |
| - productNamespacePrefix: "ReactiveUI" |
| 8 | + productNamespacePrefix: "Splat" |
10 | 9 |
|
11 | 10 | jobs:
|
12 | 11 | release:
|
13 |
| - runs-on: windows-2022 |
14 |
| - environment: |
15 |
| - name: release |
16 |
| - steps: |
17 |
| - - name: Update VS2022 preview |
18 |
| - shell: bash |
19 |
| - run: | |
20 |
| - dotnet tool update -g dotnet-vs |
21 |
| - vs modify preview +mobile +xamarin +core +desktop +uwp +web |
22 |
| - echo "##vso[task.prependpath]$(vs where preview --prop=InstallationPath)\MSBuild\Current\Bin" |
23 |
| -
|
24 |
| - - name: Install Windows SDK 10.0.16299 |
25 |
| - shell: pwsh |
26 |
| - run: | |
27 |
| - Invoke-WebRequest -Uri https://go.microsoft.com/fwlink/p/?linkid=864422 -OutFile winsdk.exe |
28 |
| - $startInfo = New-Object System.Diagnostics.ProcessStartInfo |
29 |
| - $startInfo.FileName = "winsdk.exe" |
30 |
| - $startInfo.Arguments = "/norestart /quiet" |
31 |
| - $process = New-Object System.Diagnostics.Process |
32 |
| - $process.StartInfo = $startInfo |
33 |
| - $process.Start() |
34 |
| - $process.WaitForExit() |
35 |
| -
|
36 |
| - - name: Checkout |
37 |
| - uses: actions/checkout@v2 |
38 |
| - with: |
39 |
| - fetch-depth: 0 |
40 |
| - lfs: true |
41 |
| - |
42 |
| - - name: Install .NET Core |
43 |
| - |
44 |
| - with: |
45 |
| - dotnet-version: 3.1.x |
46 |
| - |
47 |
| - - name: Install .NET 5 |
48 |
| - |
49 |
| - with: |
50 |
| - dotnet-version: 5.0.x |
51 |
| - |
52 |
| - - name: Install .NET 6 |
53 |
| - |
54 |
| - with: |
55 |
| - dotnet-version: 6.0.x |
56 |
| - include-prerelease: true |
57 |
| - |
58 |
| - - name: Install DotNet workloads |
59 |
| - shell: bash |
60 |
| - run: | |
61 |
| - dotnet workload install android |
62 |
| - dotnet workload install ios |
63 |
| - dotnet workload install tvos |
64 |
| - dotnet workload install macos |
65 |
| - dotnet workload install maui |
66 |
| - dotnet workload restore "src/ReactiveUI/ReactiveUI.csproj" |
67 |
| - dotnet tool install -g Redth.Net.Maui.Check |
68 |
| - maui-check --non-interactive --fix |
69 |
| -
|
70 |
| - - name: Add MSBuild to PATH |
71 |
| - uses: glennawatson/[email protected] |
72 |
| - with: |
73 |
| - prerelease: true |
74 |
| - |
75 |
| - - name: NBGV |
76 |
| - id: nbgv |
77 |
| - uses: dotnet/nbgv@master |
78 |
| - with: |
79 |
| - setAllVars: true |
80 |
| - |
81 |
| - - name: NuGet restore |
82 |
| - run: | |
83 |
| - dotnet restore ReactiveUI.sln |
84 |
| - working-directory: src |
85 |
| - |
86 |
| - - name: Build |
87 |
| - run: msbuild /t:build,pack /nowarn:MSB4011 /p:NoPackageAnalysis=true /verbosity:minimal /p:Configuration=${{ env.configuration }} ReactiveUI.sln |
88 |
| - working-directory: src |
89 |
| - |
90 |
| - - name: Save SignClient Configuration |
91 |
| - run: 'echo "$SIGN_CLIENT_CONFIG" > SignPackages.json' |
92 |
| - shell: bash |
93 |
| - env: |
94 |
| - SIGN_CLIENT_CONFIG: ${{secrets.SIGN_CLIENT_CONFIG}} |
95 |
| - |
96 |
| - - name: Sign NuGet Packages |
97 |
| - uses: glennawatson/signclient@v1 |
98 |
| - with: |
99 |
| - input-files: '**/*.nupkg' |
100 |
| - sign-client-secret: ${{ secrets.SIGN_CLIENT_SECRET }} |
101 |
| - sign-client-user: ${{ secrets.SIGN_CLIENT_USER_ID }} |
102 |
| - project-name: reactiveui |
103 |
| - description: reactiveui |
104 |
| - config-file: SignPackages.json |
105 |
| - |
106 |
| - - name: Changelog |
107 |
| - uses: glennawatson/ChangeLog@v1 |
108 |
| - id: changelog |
109 |
| - |
110 |
| - - name: Create Release |
111 |
| - |
112 |
| - env: |
113 |
| - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token |
114 |
| - with: |
115 |
| - tag_name: ${{ steps.nbgv.outputs.SemVer2 }} |
116 |
| - release_name: ${{ steps.nbgv.outputs.SemVer2 }} |
117 |
| - body: | |
118 |
| - ${{ steps.changelog.outputs.commitLog }} |
119 |
| -
|
120 |
| - - name: NuGet Push |
121 |
| - env: |
122 |
| - NUGET_AUTH_TOKEN: ${{ secrets.NUGET_API_KEY }} |
123 |
| - SOURCE_URL: https://api.nuget.org/v3/index.json |
124 |
| - run: | |
125 |
| - dotnet nuget push -s ${{ env.SOURCE_URL }} -k ${{ env.NUGET_AUTH_TOKEN }} **/*.nupkg |
| 12 | + uses: reactiveui/actions-common/.github/workflows/workflow-common-release.yml@main |
| 13 | + with: |
| 14 | + configuration: Release |
| 15 | + productNamespacePrefix: "ReactiveUI" |
| 16 | + useVisualStudioPreview: false |
| 17 | + useMauiCheckDotNetTool: false |
| 18 | + solutionFile: "reactiveui.sln" |
| 19 | + secrets: |
| 20 | + SIGN_CLIENT_USER_ID: ${{ secrets.SIGN_CLIENT_USER_ID }} |
| 21 | + SIGN_CLIENT_SECRET: ${{ secrets.SIGN_CLIENT_SECRET }} |
| 22 | + SIGN_CLIENT_CONFIG: ${{ secrets.SIGN_CLIENT_CONFIG }} |
| 23 | + NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} |
0 commit comments