Skip to content

Update build.yml

Update build.yml #48

Workflow file for this run

# 定义工作流名称
name: 编译 PCL
# 定义触发器
on:
# 提交内容修改代码或编辑工作流时
push:
paths:
- 'Plain Craft Launcher 2/**'
- '.github/workflows/**'
# 新的PR修改代码或编辑工作流时
pull_request:
paths:
- 'Plain Craft Launcher 2/**'
- '.github/workflows/**'
# 手动触发时
workflow_dispatch:
# 定义工作列表
jobs:
# 唯一的工作:build
build:
strategy:
# 定义矩阵,矩阵中每组都会单独执行,并使矩阵本身成为可用的上下文
# 由于一些奇葩的原因,Artifacts使用中文作为名称会导致它无法被下载,因此此处使用英文名。
# 或许后续可以试着直接发Release?
matrix:
include:
- name: 'Debug with symbols'
configuration: Debug
- name: 'Debug'
configuration: Snapshot
- name: 'Snapshot'
configuration: Release
- name: 'Snapshot from update'
configuration: ReleaseUpdate
- name: 'Release'
configuration: BETA
# 显然,只有Windows才能构建.NET Framework程序
runs-on: windows-latest
# 定义步骤列表
steps:
# 第一步,签出仓库到本地
- name: 签出仓库
# 调用actions/checkout仓库的调用预设工作流
uses: actions/checkout@v4
# 调用参数
with:
# 只签出第一层
fetch-depth: 0
# 第二步,配置生成工具
- name: 配置 MSBuild
uses: microsoft/setup-msbuild@v2
with:
# 生成工具使用64位架构
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
# 第四步,打包并上传编译产物到Artifacts
- name: 打包并上传编译产物
uses: actions/upload-artifact@v4
with:
# Artifact压缩包名称,此处命名为友好名称
name: ${{ matrix.name }}
# 将要上传的对象,将被压缩为Artifact压缩包
path: Plain Craft Launcher 2\obj\${{ matrix.configuration }}\Plain Craft Launcher 2.exe