Merge branch 'easybot-team:main' into main #5
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: '' | |
| 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') | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| ${{ env.MCDR_PATH }} | |
| name: EasyBot-MCDR ${{ env.VERSION || 'Development Build' }} | |
| body: | | |
| ### 更新内容 | |
| draft: false | |
| prerelease: contains('${{ env.VERSION }}', 'beta') || contains('${{ env.VERSION }}', 'alpha') || contains('${{ env.VERSION }}', 'release') | |
| generate_release_notes: true | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |