name: Create release draft on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+*' # 该 Action 有以下步骤: # 1. 拉取并构建代码, 然后生成 Application 发行包; # 2. 创建 Release, 并标记为 Draft(草稿); # 3. 上传 Application 发行包; permissions: contents: write jobs: create-release: timeout-minutes: 10 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # 创建更新日志. - name: 'Get Previous tag' id: previous-tag uses: younited/get-previous-tag-action@v1.1.0 with: match: "v*.*.*" - name: Set up Python 3 uses: actions/setup-python@v5 with: python-version: '3.10' - name: Install Commitizen run: pip install -U commitizen - name: Create Change log run: cz ch --start-rev ${{ steps.previous-tag.outputs.previous-tag }} --file-name ${{ github.workspace }}/CURRENT_CHANGELOG.md # 开始构建项目. - name: Set up JDK 11 uses: actions/setup-java@v4 with: java-version: '11' distribution: 'adopt-hotspot' cache: 'gradle' - uses: gradle/wrapper-validation-action@v1 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build and test uses: gradle/gradle-build-action@v2.12.0 with: gradle-version: 'wrapper' arguments: clean test assembleDist # 创建新的发行版本 - name: Create Release uses: softprops/action-gh-release@v1 with: draft: true body_path: ${{ github.workspace }}/CURRENT_CHANGELOG.md files: | */build/distributions/* */build/libs/*