|
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