File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 77 pull_request :
88 branches :
99 - main
10+ - " release-*"
1011 paths :
1112 - " **/*.cs"
1213 - " **/*.csproj"
Original file line number Diff line number Diff line change 1+ name : Prerelease
2+
3+ on :
4+ push :
5+ branches :
6+ - " release-*"
7+
8+ permissions :
9+ contents : write
10+
11+ jobs :
12+ prerelease :
13+ name : Create Prerelease
14+ runs-on : ubuntu-latest
15+
16+ steps :
17+ - name : Checkout
18+ uses : actions/checkout@v4
19+
20+ - name : Setup .NET
21+ uses : actions/setup-dotnet@v4
22+ with :
23+ dotnet-version : " 8.0.x"
24+
25+ - name : Restore and build
26+ run : |
27+ dotnet restore certinext-caplugin.sln
28+ dotnet build certinext-caplugin.sln --no-restore --configuration Release
29+
30+ - name : Run unit tests
31+ run : |
32+ dotnet test certinext-caplugin.sln \
33+ --no-build \
34+ --configuration Release \
35+ --verbosity normal
36+
37+ - name : Derive version from branch name
38+ id : version
39+ run : |
40+ # release-1.0 → v1.0.0-pre.<run_number>
41+ BRANCH="${GITHUB_REF_NAME}"
42+ BASE=$(echo "$BRANCH" | sed 's/^release-//')
43+ TAG="v${BASE}.0-pre.${{ github.run_number }}"
44+ echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
45+ echo "name=CERTInext Plugin ${TAG}" >> "$GITHUB_OUTPUT"
46+
47+ - name : Create GitHub prerelease
48+ env :
49+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
50+ run : |
51+ gh release create "${{ steps.version.outputs.tag }}" \
52+ --title "${{ steps.version.outputs.name }}" \
53+ --notes "Automated prerelease from branch \`${GITHUB_REF_NAME}\` at commit \`${GITHUB_SHA:0:7}\`." \
54+ --prerelease \
55+ --target "${GITHUB_REF_NAME}"
You can’t perform that action at this time.
0 commit comments