1+ name : Build & Publish cs2-admin
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ paths-ignore :
8+ - ' README.md'
9+ - ' .github/workflows/**'
10+
11+ jobs :
12+ setup :
13+ permissions :
14+ contents : write
15+ runs-on : ubuntu-latest
16+ outputs :
17+ buildnumber : ${{ steps.buildnumber.outputs.build_number }}
18+ steps :
19+ - name : Generate build number
20+ id : buildnumber
21+ uses : onyxmueller/build-tag-number@v1
22+ with :
23+ token : ${{ secrets.GITHUB_TOKEN }}
24+
25+ build :
26+ needs : setup
27+ runs-on : ubuntu-latest
28+ permissions :
29+ contents : write
30+ steps :
31+ - name : Prepare Environment Variables
32+ shell : bash
33+ run : |
34+ echo "GITHUB_SHA_SHORT=${GITHUB_SHA::7}" >> $GITHUB_ENV
35+ echo "BUILD_NUMBER=${{ needs.setup.outputs.buildnumber }}" >> $GITHUB_ENV
36+
37+ - name : Checkout Repository
38+ uses : actions/checkout@v3
39+
40+ - name : Setup .NET
41+ uses : actions/setup-dotnet@v3
42+ with :
43+ dotnet-version : ' 8.0.x'
44+
45+ - name : Restore Dependencies
46+ run : dotnet restore
47+
48+ - name : Build
49+ run : |
50+ dotnet build cs2-admin.sln -c Release --no-restore /p:Version=1.${{ env.BUILD_NUMBER }}
51+
52+ - name : Create Release Artifact (ZIP) from BuildOutput
53+ run : |
54+ mkdir -p release
55+ cd BuildOutput
56+ zip -r ../cs2-admin-v1.${{ env.BUILD_NUMBER }}.zip .
57+
58+ - name : Create GitHub Release
59+ id : create_release
60+ uses : actions/create-release@v1
61+ env :
62+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
63+ with :
64+ tag_name : v1.${{ env.BUILD_NUMBER }}
65+ release_name : v1.${{ env.BUILD_NUMBER }}
66+ draft : false
67+ prerelease : false
68+ body : |
69+ ## Release Notes for v1.${{ env.BUILD_NUMBER }}
70+
71+ ### Changes:
72+ - ${{ github.event.head_commit.message }}
73+
74+ ### Feedback:
75+ - If you encounter any issues, please report them [here](https://github.com/${{ github.repository }}/issues).
76+
77+ - name : Upload Release Asset
78+ uses : actions/upload-release-asset@v1
79+ env :
80+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
81+ with :
82+ upload_url : ${{ steps.create_release.outputs.upload_url }}
83+ asset_path : ./cs2-admin-v1.${{ env.BUILD_NUMBER }}.zip
84+ asset_name : cs2-admin-v1.${{ env.BUILD_NUMBER }}.zip
85+ asset_content_type : application/zip
0 commit comments