Merge pull request #4009 from allMagicNB/main

重构编译工作流文件
This commit is contained in:
龙腾猫跃
2024-06-13 19:36:35 +08:00
committed by GitHub
+19 -51
View File
@@ -1,79 +1,47 @@
# 定义工作流名称 name: Build
name: 构建 PCL
# 定义触发器
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: strategy:
# 定义矩阵,矩阵中每组都会单独执行,并使矩阵本身成为可用的上下文 matrix:
matrix: configuration: [Debug, Release, Snapshot, BETA, ReleaseUpdate]
include:
- name: 开发版
configuration: Debug
- name: 开发版
configuration: Snapshot
- name: 快照版
configuration: Release
- name: 快照版
configuration: ReleaseUpdate
- name: 正式版
configuration: BETA
# 显然,只有Windows才能构建.NET Framework程序
runs-on: windows-latest runs-on: windows-latest
# 定义步骤列表
steps: steps:
- name: Checkout
# 第一步,签出仓库到本地
- name: 签出仓库
# 调用actions/checkout仓库的调用预设工作流
uses: actions/checkout@v4 uses: actions/checkout@v4
# 调用参数
with: with:
# 只签出第一层
fetch-depth: 0 fetch-depth: 0
# 第二步,配置生成工具 - name: Set Describe
- name: 配置 MSBuild 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: Build
- name: 编译源代码 run: msbuild "Plain Craft Launcher 2\Plain Craft Launcher 2.vbproj" -p:Configuration=${{ matrix.configuration }}
# 直接运行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: Upload a Build Artifact
- name: 上传编译产物
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
# Artifact压缩包名称,此处命名为友好名称_原始名称 name: ${{ matrix.configuration }} ${{ env.Describe }}
name: ${{ matrix.name }}_${{ matrix.configuration }}
# 将要上传的对象,将被压缩为Artifact压缩包
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