diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5dea058..e0b81da 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,79 +1,47 @@ -# 定义工作流名称 -name: 构建 PCL +name: Build -# 定义触发器 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: - # 定义矩阵,矩阵中每组都会单独执行,并使矩阵本身成为可用的上下文 - 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 - # 定义步骤列表 steps: - - # 第一步,签出仓库到本地 - - name: 签出仓库 - # 调用actions/checkout仓库的调用预设工作流 + - name: Checkout uses: actions/checkout@v4 - # 调用参数 with: - # 只签出第一层 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 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 + - 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 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