Merge pull request #30 from LBY123165/main #8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Release EasyBot-MCDR | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| # 允许手动触发工作流 | |
| inputs: | |
| version: | |
| description: '手动指定版本号(可选)' | |
| required: false | |
| default: '' | |
| permissions: | |
| contents: write | |
| # 授予创建和更新Release所需的权限 | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 检出代码 | |
| uses: actions/checkout@v4 | |
| - name: 设置Python环境 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12.8' | |
| cache: 'pip' | |
| - name: 安装依赖 | |
| run: | | |
| python -m pip install --upgrade pip | |
| if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
| - name: 安装MCDReforged | |
| run: pip install mcdreforged>=2.14 | |
| - name: 使用MCDReforged打包插件 | |
| run: mcdreforged pack | |
| - name: 获取版本号 | |
| id: get_version | |
| run: | | |
| if [[ "${{ github.event.inputs.version }}" != "" ]]; then | |
| echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV | |
| elif [[ "${GITHUB_REF}" == refs/tags/* ]]; then | |
| echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV | |
| else | |
| echo "VERSION=$(grep -o '"version": "[^"]*"' mcdreforged.plugin.json | sed 's/"version": "\([^"]*\)"/\1/')" >> $GITHUB_ENV | |
| fi | |
| - name: 查找打包生成的文件 | |
| id: find_files | |
| run: | | |
| # 查找mcdreforged pack生成的.mcdr文件 | |
| MCDR_FILE=$(find . -name "*.mcdr" | sort -r | head -n 1) | |
| echo "MCDR_PATH=$MCDR_FILE" >> $GITHUB_ENV | |
| echo "MCDR_NAME=$(basename $MCDR_FILE)" >> $GITHUB_ENV | |
| - name: 上传构建产物 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: easybot_mcdr-${{ env.VERSION }} | |
| path: | | |
| ${{ env.MCDR_PATH }} | |
| - name: 发布到GitHub Release | |
| if: github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/v') || github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| # 如果是标签推送,使用标签作为版本号 | |
| tag_name: ${{ startsWith(github.ref, 'refs/tags/v') && github.ref || format('v{0}', env.VERSION) }} | |
| name: EasyBot-MCDR ${{ env.VERSION || 'Development Build' }} | |
| body: | | |
| ## EasyBot-MCDR ${{ env.VERSION || 'Development Build' }} | |
| ### 版本信息 | |
| - 插件版本: ${{ env.VERSION || 'Development Build' }} | |
| - MCDReforged: >= 2.14 | |
| ### 更新内容 | |
| draft: false | |
| prerelease: contains('${{ env.VERSION }}', 'beta') || contains('${{ env.VERSION }}', 'alpha') | |
| generate_release_notes: true | |
| files: | | |
| ${{ env.MCDR_PATH }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |