Skip to content

Commit 949d315

Browse files
committed
Update workflow
1 parent 60435c6 commit 949d315

1 file changed

Lines changed: 48 additions & 31 deletions

File tree

Lines changed: 48 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,73 @@
11
name: OpenSilver.ControlsKit Build
2+
23
env:
3-
next-release-version: '3.4.0'
4-
opensilver-package-source: 'https://www.myget.org/F/opensilver/api/v3/index.json'
5-
suffix: 'preview'
4+
NEXT_RELEASE_VERSION: '3.4.0'
5+
66
on:
77
push:
88
branches:
99
- master
1010
workflow_dispatch:
1111
inputs:
12-
opensilver-version:
13-
description: 'OpenSilver package version'
14-
default: 'latest'
15-
required: true
12+
opensilver-version:
13+
description: 'OpenSilver version'
14+
required: true
15+
version:
16+
description: 'OpenSilver.ControlsKit package version'
17+
required: false
18+
default: ''
19+
publish-myget:
20+
description: 'Publish to MyGet.org'
21+
required: false
22+
type: boolean
23+
default: true
24+
publish-nuget-org:
25+
description: 'Publish to NuGet.org'
26+
required: false
27+
type: boolean
28+
default: false
29+
1630
jobs:
1731
OpenSilver-ControlsKit-Build:
18-
#We should not run these steps on the forks by default.
1932
if: github.repository_owner == 'OpenSilver'
2033
runs-on: windows-latest
2134
steps:
22-
- name: Add msbuild to PATH
23-
uses: microsoft/setup-msbuild@v1.1.3
35+
- uses: microsoft/setup-msbuild@v1.1.3
2436
- name: Inject slug/short variables
2537
uses: rlespinasse/github-slug-action@v4.x
26-
- name: Install DotNet
27-
uses: actions/setup-dotnet@v3
38+
- uses: actions/setup-dotnet@v5
2839
with:
29-
dotnet-version: '9.0.102'
30-
- name: Clone repo
40+
dotnet-version: '10.x'
41+
dotnet-quality: 'ga'
42+
43+
- name: Clone OpenSilver.ControlsKit repo
3144
uses: actions/checkout@v3
3245
with:
3346
ref: ${{ github.ref }}
34-
- name: Fill vars
35-
id: vars
47+
48+
- name: Format Package Version
49+
id: version
50+
shell: pwsh
3651
run: |
37-
$version = "${{ github.event.inputs.opensilver-version }}"
38-
$source = "${{ env.opensilver-package-source }}"
39-
if ($version -eq "latest" -or $version -eq "") {
40-
$version = nuget list -Source $source -Prerelease | ? { $_ -match "^OpenSilver\s+(.*)" } | ForEach { $_.split(" ")[1] }
52+
$v = "${{ github.event.inputs.version }}"
53+
if ([string]::IsNullOrWhiteSpace($v))
54+
{
55+
$timestamp = Get-Date -Format "yyyy-MM-dd-HHmmss"
56+
$v = "$env:NEXT_RELEASE_VERSION-preview-$timestamp-$env:GITHUB_SHA_SHORT"
4157
}
42-
echo "Version: $version"
43-
echo "opensilver-version=$version" >> $env:GITHUB_OUTPUT
44-
echo "package-version=${{ env.next-release-version }}-${{ env.suffix }}-$(date +'%Y-%m-%d-%H%M%S')-${{ env.GITHUB_SHA_SHORT }}" >> $env:GITHUB_OUTPUT
45-
- name: Build OpenSilver.ControlsKit package
58+
"value=$v" >> $env:GITHUB_OUTPUT
59+
60+
- name: Build OpenSilver.ControlsKit NuGet package
4661
working-directory: src\build
4762
run: |
48-
./build-nuget-package.bat ${{ steps.vars.outputs.package-version }} ${{ steps.vars.outputs.opensilver-version }}
49-
- name: Upload artifacts
50-
uses: actions/upload-artifact@v4
51-
with:
52-
name: ControlsKit
53-
path: src\build\output\ControlsKit\*.nupkg
63+
./build-nuget-package.bat ${{ steps.version.outputs.value }} ${{ github.event.inputs.opensilver-version }}
64+
5465
- name: Upload packages to MyGet
66+
if: ${{ inputs['publish-myget'] }}
67+
run: |
68+
dotnet nuget push "src\build\output\ControlsKit\*.nupkg" -k ${{ secrets.MYGET_TOKEN }} -s https://www.myget.org/F/opensilver/api/v2/package
69+
70+
- name: Upload packages to NuGet.org
71+
if: ${{ inputs['publish-nuget-org'] }}
5572
run: |
56-
dotnet nuget push "src\build\output\ControlsKit\*.nupkg" -k ${{ secrets.MYGET_TOKEN }} -s ${{ secrets.MYGET_PUBLIC_FEED }}
73+
dotnet nuget push "src\build\output\ControlsKit\*.nupkg" -k ${{ secrets.NUGET_ORG_API_KEY }} -s https://api.nuget.org/v3/index.json

0 commit comments

Comments
 (0)