-
Notifications
You must be signed in to change notification settings - Fork 1
133 lines (108 loc) · 3.39 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
on:
release:
types:
- published
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@master
- uses: actions/cache@v4
with:
path: |
~/AppData/Local/.xmake
key: xmake-${{ hashFiles('xmake.lua') }}
restore-keys: |
xmake-
- uses: microsoft/setup-msbuild@v2
- run: |
xmake repo -u
- run: |
xmake f -a x64 -m release -p windows -y
- run: |
xmake -w -y
- uses: actions/upload-artifact@v4
with:
name: ${{ github.event.repository.name }}-windows-x64-${{ github.sha }}
path: |
bin/
# SDK相关任务
- name: Create SDK directories
run: |
mkdir SDK
mkdir SDK/lib
mkdir SDK/include
- name: Copy include files to SDK
run: |
Copy-Item -Path include/* -Destination SDK/include/ -Recurse -Force
shell: pwsh
- name: Copy .lib files to SDK/lib
run: |
New-Item -Path SDK/lib -ItemType Directory -Force
Copy-Item -Path build/windows/x64/release/*.lib -Destination SDK/lib/ -Force
shell: pwsh
- uses: actions/upload-artifact@v4
with:
name: SDK-${{ github.sha }}
path: SDK
update-release-notes:
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- id: extract-release-notes
uses: ffurrer2/extract-release-notes@v2
- uses: softprops/action-gh-release@v1
with:
body: |-
${{ steps.extract-release-notes.outputs.release_notes }}
| File | SHA256 |
| ---- | ------ |
upload-to-release:
needs:
- build
- update-release-notes
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: ${{ github.event.repository.name }}-windows-x64-${{ github.sha }}
path: artifact
# Download SDK
- uses: actions/download-artifact@v4
with:
name: SDK-${{ github.sha }}
path: sdk-artifact
- run: |
cp CHANGELOG.md README.md artifact/
- run: |
zip -r ../${{ github.event.repository.name }}-windows-x64.zip *
working-directory: artifact
# Zip SDK
- run: |
zip -r ../SDK-PlotCraft.zip *
working-directory: sdk-artifact
- id: calculate-sha256-core
run: |
echo sha256=$(sha256sum ${{ github.event.repository.name }}-windows-x64.zip | awk '{print $1}') >> $GITHUB_OUTPUT
- id: calculate-sha256-sdk
run: |
echo sha256=$(sha256sum SDK-PlotCraft.zip | awk '{print $1}') >> $GITHUB_OUTPUT
- uses: softprops/action-gh-release@v1
with:
append_body: true
body: |-
| ${{ github.event.repository.name }}-windows-x64.zip | ${{ steps.calculate-sha256-core.outputs.sha256 }} |
| SDK-PlotCraft.zip | ${{ steps.calculate-sha256-sdk.outputs.sha256 }} |
files: |
${{ github.event.repository.name }}-windows-x64.zip
SDK-PlotCraft.zip