name: 自动版本发布 on: push: branches: - main jobs: create-readme: runs-on: ubuntu-latest if: "contains(github.event.head_commit.message, 'Release')" steps: - name: 检查本地是否已经有 gitea/runner-images:ubuntu-latest 镜像 id: check_image run: | if docker image inspect gitea/runner-images:ubuntu-latest >/dev/null 2>&1; then echo "gitea/runner-images:ubuntu-latest image is already present locally. Skipping pull." echo "should_pull=false" >> $GITEA_OUTPUT else echo "gitea/runner-images:ubuntu-latest image is not present locally. Will pull." echo "should_pull=true" >> $GITEA_OUTPUT fi - name: 下载 gitea/runner-images:ubuntu-latest 镜像 if: steps.check_image.outputs.should_pull == 'true' run: docker pull gitea/runner-images:ubuntu-latest - name: 替换软件源为国内软件源 run: | cat /etc/os-release sudo rm -f /etc/apt/sources.list sudo rm -f /etc/apt/sources.list.d/* sudo tee /etc/apt/sources.list <<EOF deb http://mirrors.ustc.edu.cn/ubuntu/ noble main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ noble main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ noble-security main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ noble-security main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ noble-updates main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ noble-updates main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ noble-backports main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ noble-backports main restricted universe multiverse EOF - name: 安装 tea 工具 run: | # 更新 apt 缓存 sudo apt-get update # 安装 tea 工具 sudo apt-get install -y tea golang # - name: 删除本地仓库副本 # env: # REPO_NAME: ${{ github.event.repository.name }} # run: | # if [ -d "$REPO_NAME" ]; then # rm -rf "$REPO_NAME" # fi - name: 检出仓库 env: GITEA_TOKEN: ${{ secrets.AUTOGENERATE }} GITEA_REPO_URL: ${{ github.server_url }}/${{ github.repository }} CLEAN_REPO_URL: ${{ github.server_url }}/${{ github.repository }} run: | # CLEAN_REPO_URL="${CLEAN_REPO_URL#https://}" # git clone "https://${GITEA_TOKEN}@${CLEAN_REPO_URL}" . - name: 检出仓库 uses: actions/checkout@v4 - name: 设置 Git 身份 run: | git config user.name "${{ github.actor }}" git config user.email "${{ github.actor }}@users.noreply.git.linuxacme.com" - name: 生成版本号 id: generate_version run: | VERSION=$(echo "${{ github.event.head_commit.message }}" | grep -oP 'Release v\K[0-9.]+') echo "::set-output name=version::$VERSION" - name: 创建标签 run: | # git tag -d v${{ steps.generate_version.outputs.version }} # git push origin --delete v${{ steps.generate_version.outputs.version }} git tag -a v${{ steps.generate_version.outputs.version }} -m "Release v${{ steps.generate_version.outputs.version }}" git push origin v${{ steps.generate_version.outputs.version }} - name: 创建发布 uses: https://gitea.com/actions/release-action@main with: tag_name: v${{ steps.generate_version.outputs.version }} release_name: Release v${{ steps.generate_version.outputs.version }} body: | 这是版本 v${{ steps.generate_version.outputs.version }} 的发布说明。 你可以在这里详细描述这个版本的变更内容。