build.yml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # 定义工作流名称
  2. name: 构建 PCL
  3. # 定义触发器
  4. on:
  5. # 提交内容修改代码或编辑工作流时
  6. push:
  7. paths:
  8. - 'Plain Craft Launcher 2/**'
  9. - '.github/workflows/**'
  10. # 新的PR修改代码或编辑工作流时
  11. pull_request:
  12. paths:
  13. - 'Plain Craft Launcher 2/**'
  14. - '.github/workflows/**'
  15. # 手动触发时
  16. workflow_dispatch:
  17. # 定义工作列表
  18. jobs:
  19. # 唯一的工作:build
  20. build:
  21. strategy:
  22. # 定义矩阵,矩阵中每组都会单独执行,并使矩阵本身成为可用的上下文
  23. matrix:
  24. include:
  25. - name: 开发版
  26. configuration: Debug
  27. - name: 开发版
  28. configuration: Snapshot
  29. - name: 快照版
  30. configuration: Release
  31. - name: 快照版
  32. configuration: ReleaseUpdate
  33. - name: 正式版
  34. configuration: BETA
  35. # 显然,只有Windows才能构建.NET Framework程序
  36. runs-on: windows-latest
  37. # 定义步骤列表
  38. steps:
  39. # 第一步,签出仓库到本地
  40. - name: 签出仓库
  41. # 调用actions/checkout仓库的调用预设工作流
  42. uses: actions/checkout@v4
  43. # 调用参数
  44. with:
  45. # 只签出第一层
  46. fetch-depth: 0
  47. # 第二步,配置生成工具
  48. - name: 配置 MSBuild
  49. uses: microsoft/setup-msbuild@v2
  50. with:
  51. # 生成工具使用64位架构
  52. msbuild-architecture: x64
  53. # 第三步,编译
  54. - name: 编译源代码
  55. # 直接运行Powershell命令
  56. # ${{}}括号内的是工作流表达式,此处即当前运行的矩阵的参数,运行时将直接替换
  57. # $env:是Powershell读取环境变量的语法
  58. run: msbuild $env:Project_Path /p:Configuration=${{ matrix.configuration }}
  59. env:
  60. # 设置单个步骤的环境变量
  61. # 由于路径包含空格,使用环境变量传入路径,避免令人疑惑的引号写法
  62. Project_Path: Plain Craft Launcher 2\Plain Craft Launcher 2.vbproj
  63. # 第四步,上传编译产物到Artifacts
  64. - name: 上传编译产物
  65. uses: actions/upload-artifact@v4
  66. with:
  67. # Artifact压缩包名称,此处命名为友好名称_原始名称
  68. name: ${{ matrix.name }}_${{ matrix.configuration }}
  69. # 将要上传的对象,将被压缩为Artifact压缩包
  70. path: Plain Craft Launcher 2\obj\${{ matrix.configuration }}\Plain Craft Launcher 2.exe