Skip to content

Commit 8768e1f

Browse files
committed
ci: add prerelease workflow and extend dotnet-ci to release-* branches
1 parent cd90ce0 commit 8768e1f

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

.github/workflows/dotnet-ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
pull_request:
88
branches:
99
- main
10+
- "release-*"
1011
paths:
1112
- "**/*.cs"
1213
- "**/*.csproj"

.github/workflows/prerelease.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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}"

0 commit comments

Comments
 (0)