|
@@ -1,79 +1,47 @@
|
|
|
-# 定义工作流名称
|
|
|
|
|
-name: 构建 PCL
|
|
|
|
|
|
|
+name: Build
|
|
|
|
|
|
|
|
-# 定义触发器
|
|
|
|
|
on:
|
|
on:
|
|
|
- # 提交内容修改代码或编辑工作流时
|
|
|
|
|
push:
|
|
push:
|
|
|
paths:
|
|
paths:
|
|
|
- 'Plain Craft Launcher 2/**'
|
|
- 'Plain Craft Launcher 2/**'
|
|
|
- '.github/workflows/**'
|
|
- '.github/workflows/**'
|
|
|
- # 新的PR修改代码或编辑工作流时
|
|
|
|
|
pull_request:
|
|
pull_request:
|
|
|
paths:
|
|
paths:
|
|
|
- 'Plain Craft Launcher 2/**'
|
|
- 'Plain Craft Launcher 2/**'
|
|
|
- '.github/workflows/**'
|
|
- '.github/workflows/**'
|
|
|
- # 手动触发时
|
|
|
|
|
- workflow_dispatch:
|
|
|
|
|
|
|
|
|
|
-# 定义工作列表
|
|
|
|
|
jobs:
|
|
jobs:
|
|
|
- # 唯一的工作:build
|
|
|
|
|
|
|
+
|
|
|
build:
|
|
build:
|
|
|
-
|
|
|
|
|
- strategy:
|
|
|
|
|
- # 定义矩阵,矩阵中每组都会单独执行,并使矩阵本身成为可用的上下文
|
|
|
|
|
- matrix:
|
|
|
|
|
- include:
|
|
|
|
|
- - name: 开发版
|
|
|
|
|
- configuration: Debug
|
|
|
|
|
- - name: 开发版
|
|
|
|
|
- configuration: Snapshot
|
|
|
|
|
- - name: 快照版
|
|
|
|
|
- configuration: Release
|
|
|
|
|
- - name: 快照版
|
|
|
|
|
- configuration: ReleaseUpdate
|
|
|
|
|
- - name: 正式版
|
|
|
|
|
- configuration: BETA
|
|
|
|
|
-
|
|
|
|
|
- # 显然,只有Windows才能构建.NET Framework程序
|
|
|
|
|
|
|
+
|
|
|
|
|
+ strategy:
|
|
|
|
|
+ matrix:
|
|
|
|
|
+ configuration: [Debug, Release, Snapshot, BETA, ReleaseUpdate]
|
|
|
|
|
+
|
|
|
runs-on: windows-latest
|
|
runs-on: windows-latest
|
|
|
|
|
|
|
|
- # 定义步骤列表
|
|
|
|
|
steps:
|
|
steps:
|
|
|
-
|
|
|
|
|
- # 第一步,签出仓库到本地
|
|
|
|
|
- - name: 签出仓库
|
|
|
|
|
- # 调用actions/checkout仓库的调用预设工作流
|
|
|
|
|
|
|
+ - name: Checkout
|
|
|
uses: actions/checkout@v4
|
|
uses: actions/checkout@v4
|
|
|
- # 调用参数
|
|
|
|
|
with:
|
|
with:
|
|
|
- # 只签出第一层
|
|
|
|
|
fetch-depth: 0
|
|
fetch-depth: 0
|
|
|
|
|
|
|
|
- # 第二步,配置生成工具
|
|
|
|
|
- - name: 配置 MSBuild
|
|
|
|
|
|
|
+ - name: Set Describe
|
|
|
|
|
+ shell: bash
|
|
|
|
|
+ run: |
|
|
|
|
|
+ Describe=`git describe --tags`
|
|
|
|
|
+ echo "Describe=$Describe" >> $GITHUB_ENV
|
|
|
|
|
+
|
|
|
|
|
+ - name: Setup MSBuild.exe
|
|
|
uses: microsoft/setup-msbuild@v2
|
|
uses: microsoft/setup-msbuild@v2
|
|
|
with:
|
|
with:
|
|
|
- # 生成工具使用64位架构
|
|
|
|
|
msbuild-architecture: x64
|
|
msbuild-architecture: x64
|
|
|
|
|
|
|
|
- # 第三步,编译
|
|
|
|
|
- - name: 编译源代码
|
|
|
|
|
- # 直接运行Powershell命令
|
|
|
|
|
- # ${{}}括号内的是工作流表达式,此处即当前运行的矩阵的参数,运行时将直接替换
|
|
|
|
|
- # $env:是Powershell读取环境变量的语法
|
|
|
|
|
- run: msbuild $env:Project_Path /p:Configuration=${{ matrix.configuration }}
|
|
|
|
|
- env:
|
|
|
|
|
- # 设置单个步骤的环境变量
|
|
|
|
|
- # 由于路径包含空格,使用环境变量传入路径,避免令人疑惑的引号写法
|
|
|
|
|
- Project_Path: Plain Craft Launcher 2\Plain Craft Launcher 2.vbproj
|
|
|
|
|
|
|
+ - name: Build
|
|
|
|
|
+ run: msbuild "Plain Craft Launcher 2\Plain Craft Launcher 2.vbproj" -p:Configuration=${{ matrix.configuration }}
|
|
|
|
|
|
|
|
- # 第四步,上传编译产物到Artifacts
|
|
|
|
|
- - name: 上传编译产物
|
|
|
|
|
|
|
+ - name: Upload a Build Artifact
|
|
|
uses: actions/upload-artifact@v4
|
|
uses: actions/upload-artifact@v4
|
|
|
with:
|
|
with:
|
|
|
- # Artifact压缩包名称,此处命名为友好名称_原始名称
|
|
|
|
|
- name: ${{ matrix.name }}_${{ matrix.configuration }}
|
|
|
|
|
- # 将要上传的对象,将被压缩为Artifact压缩包
|
|
|
|
|
|
|
+ name: ${{ matrix.configuration }} ${{ env.Describe }}
|
|
|
path: Plain Craft Launcher 2\obj\${{ matrix.configuration }}\Plain Craft Launcher 2.exe
|
|
path: Plain Craft Launcher 2\obj\${{ matrix.configuration }}\Plain Craft Launcher 2.exe
|