88 description : ' Path to the configuration file.'
99 type : string
1010 required : true
11- prerelease :
12- description : ' Indicates whether the version should be a pre-release version.'
13- type : boolean
14- required : true
1511 run-number :
1612 description : ' The run number of the parent workflow.'
1713 type : number
2723 required : true
2824 type : string
2925 default : ' 6.0.x'
26+ prerelease-tag :
27+ description : ' The prerelease tag to use. Default: '''' .'
28+ type : string
29+ required : false
30+ default : ' '
3031
3132jobs :
3233 version :
3334 name : ' Version'
3435 runs-on : ubuntu-latest
3536
3637 outputs :
37- assembly-version : ${{ steps.gitversion.outputs.AssemblySemVer }}.${{ inputs.run-number }}.${{ steps.gitversion.outputs.CommitsSinceVersionSource }}
38- assembly-informational-version : ${{ steps.gitversion.outputs.assemblySemVer }}.${{ inputs.run-number }}+${{ steps.gitversion.outputs.sha }}
39- file-version : ${{ steps.gitversion.outputs.AssemblySemFileVer }}.${{ inputs.run-number }}.${{ steps.gitversion.outputs.CommitsSinceVersionSource }}
40- package-version : ${{ fromJSON(format('[ "{0}.{1}{2)", "{0}.{1}" ]', steps.gitversion.outputs.AssemblySemVer, inputs.run-number , steps.gitversion.outputs.preReleaseLabelWithDash))[fromJSON(inputs.prerelease)] }}
38+ assembly-version : ${{ env.assembly-version }}
39+ assembly-informational-version : ${{ env.assembly-informational-version }}
40+ file-version : ${{ env.file-version }}
41+ package-version : ${{ env.package-version }}
4142
4243 steps :
4344
44- - if : ${{ !(inputs.nuget-feed-server == 'NuGet' || inputs.nuget-feed-server == 'AzureArtifacts') }}
45- name : ' Invalid NuGet feed server type'
46- shell : bash
47- run : |
48- echo 'Invalid NuGet feed server type ${{ inputs.nuget-feed-server }}. Allowed values are 'NuGet' or 'AzureArtifacts'.'
49- exit 1
50-
5145 - name : ' Checkout ${{ github.head_ref || github.ref }}'
5246 uses : actions/checkout@v4
5347 with :
6559 with :
6660 useConfigFile : true
6761 configFilePath : ${{ inputs.config-file-path }}
62+
63+ - name : ' Set assembky version'
64+ shell : bash
65+ run : echo "assembly-version=${{ steps.gitversion.outputs.AssemblySemFileVer }}.${{ inputs.run-number }}.${{ steps.gitversion.outputs.CommitsSinceVersionSource }}" >> $GITHUB_ENV
66+
67+ - name : ' Set assembky informational version'
68+ shell : bash
69+ run : echo "assembly-informational-version=${{ steps.gitversion.outputs.assemblySemVer }}.${{ inputs.run-number }}+${{ steps.gitversion.outputs.sha }}" >> $GITHUB_ENV
70+
71+ - name : ' Set file version'
72+ shell : bash
73+ run : echo "file-version=${{ steps.gitversion.outputs.AssemblySemFileVer }}.${{ inputs.run-number }}.${{ steps.gitversion.outputs.CommitsSinceVersionSource }}" >> $GITHUB_ENV
74+
75+ - if : ${{ inputs.prerelease-tag == '' }}
76+ name : ' Set package version'
77+ shell : bash
78+ run : echo "package-version=${{ steps.gitversion.outputs.AssemblySemVer }}.${{ inputs.run-number }}" >> $GITHUB_ENV
79+
80+ - if : ${{ inputs.prerelease-tag != '' && startWith('-', inputs.prerelease-tag) }}
81+ name : ' Set package version'
82+ shell : bash
83+ run : echo "package-version=${{ steps.gitversion.outputs.AssemblySemVer }}.${{ inputs.run-number }}${{ inputs.prerelease-tag}}" >> $GITHUB_ENV
84+
85+ - if : ${{ inputs.prerelease-tag != '' && !startWith('-', inputs.prerelease-tag) }}
86+ name : ' Set package version'
87+ shell : bash
88+ run : echo "package-version=${{ steps.gitversion.outputs.AssemblySemVer }}.${{ inputs.run-number }}-${{ inputs.prerelease-tag}}" >> $GITHUB_ENV
6889
0 commit comments