@@ -36,32 +36,32 @@ jobs:
3636 # 构造程序
3737 - name : Build Packer if not cached
3838 if : steps.cache-packer.outputs.cache-hit != 'true'
39- run : dotnet publish .\src\Packer\Packer.csproj -o ./ -r win-x64 -p:PublishSingleFile=true
39+ run : dotnet publish .\src\Packer\Packer.csproj -o ./ -r win-x64
4040
41- # build-uploader:
42- # if: github.repository == 'CFPAOrg/Minecraft-Mod-Language-Package'
43- # name: Build / Cache Uploader
44- # runs-on: windows-latest
45- # steps:
46- # - uses: actions/checkout@v4
47- # with:
48- # fetch-depth: 1
49- # sparse-checkout: src
41+ build-uploader :
42+ if : github.repository == 'CFPAOrg/Minecraft-Mod-Language-Package'
43+ name : Build / Cache Uploader
44+ runs-on : windows-latest
45+ steps :
46+ - uses : actions/checkout@v4
47+ with :
48+ fetch-depth : 1
49+ sparse-checkout : src
5050
51- # # 缓存程序。一方面,在不同job之间需要这么做;另一方面,大约可以改善运行时间?
52- # # actions/cache的逻辑会在job末尾缓存打包程序;如果不命中,就自行构造程序。
53- # - name: Cache Uploader
54- # id: cache-uploader
55- # uses: actions/cache@v4
56- # with:
57- # key: ${{ runner.os }}-Uploader-${{ hashFiles('src/Uploader/**') }}
58- # path: Uploader.exe
59- # lookup-only: true
51+ # 缓存程序。一方面,在不同job之间需要这么做;另一方面,大约可以改善运行时间?
52+ # actions/cache的逻辑会在job末尾缓存打包程序;如果不命中,就自行构造程序。
53+ - name : Cache Uploader
54+ id : cache-uploader
55+ uses : actions/cache@v4
56+ with :
57+ key : ${{ runner.os }}-Uploader-${{ hashFiles('src/Uploader/**') }}
58+ path : Uploader.exe
59+ lookup-only : true
6060
61- # # 构造程序
62- # - name: Build Uploader if not cached
63- # if: steps.cache-uploader.outputs.cache-hit != 'true'
64- # run: dotnet publish .\src\Uploader\Uploader.csproj -o ./ -r win-x64 -p:PublishSingeFile=true
61+ # 构造程序
62+ - name : Build Uploader if not cached
63+ if : steps.cache-uploader.outputs.cache-hit != 'true'
64+ run : dotnet publish .\src\Uploader\Uploader.csproj -o ./ -r win-x64
6565
6666 initialize-release :
6767 name : Initialize Release
@@ -284,17 +284,17 @@ jobs:
284284 upload :
285285 if : github.repository == 'CFPAOrg/Minecraft-Mod-Language-Package'
286286 name : Upload Resource Packs to Remote Server
287- needs : [ pack ] # 显然,需要打包完成,并且存在上传程序,才可以上传给分发服务器
287+ needs : [ pack, build-uploader ] # 显然,需要打包完成,并且存在上传程序,才可以上传给分发服务器
288288 runs-on : windows-latest
289289 steps :
290- - uses : actions/checkout@v4
290+ - name : Restore Uploader
291+ id : cache-restore
292+ uses : actions/cache/restore@v4
291293 with :
292- fetch-depth : 1
293- sparse-checkout : src
294-
295- # 构造程序
296- - name : Build Uploader
297- run : dotnet publish .\src\Uploader\Uploader.csproj -o ./ -r win-x64 -p:PublishSingeFile=true
294+ key : ${{ runner.os }}-Packer-${{ hashFiles('src/Uploader/**') }}
295+ path : |
296+ Uploader.exe
297+ fail-on-cache-miss : true # 前一步理应构造过的。如果不命中,肯定有问题,不如直接挂掉。
298298
299299 # 还原artifact(资源包)
300300 - name : Restore Artifacts
0 commit comments