- 不使用 actions/ 生态 - 直接 clone 代码构建 - 构建完成后删除旧 release 再创建新的 - 支持 windows .exe 后缀
This commit is contained in:
25
.github/workflows/release.yml
vendored
25
.github/workflows/release.yml
vendored
@@ -9,17 +9,18 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu24.04
|
runs-on: ubuntu24.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
run: git clone https://hub.gaomia.site/titor/haibao-tts-cli.git /workspace/mimo-tts
|
||||||
|
|
||||||
- name: Setup Rust
|
- name: Install Rust
|
||||||
run: |
|
run: |
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
||||||
. ~/.cargo/env
|
. "$HOME/.cargo/env"
|
||||||
|
|
||||||
- name: Build
|
- name: Build binaries
|
||||||
run: |
|
run: |
|
||||||
. ~/.cargo/env
|
. "$HOME/.cargo/env"
|
||||||
|
cd /workspace/mimo-tts
|
||||||
|
|
||||||
for target in linux-amd64 linux-arm64 darwin-amd64 darwin-arm64 windows-amd64; do
|
for target in linux-amd64 linux-arm64 darwin-amd64 darwin-arm64 windows-amd64; do
|
||||||
os=${target%-*}
|
os=${target%-*}
|
||||||
@@ -30,23 +31,31 @@ jobs:
|
|||||||
mv target/release/mimo-tts "mimo-tts-${os}-${arch}${ext}"
|
mv target/release/mimo-tts "mimo-tts-${os}-${arch}${ext}"
|
||||||
done
|
done
|
||||||
|
|
||||||
- name: Checksums
|
- name: Generate checksums
|
||||||
run: |
|
run: |
|
||||||
|
cd /workspace/mimo-tts
|
||||||
sha256sum mimo-tts-* > checksums.txt
|
sha256sum mimo-tts-* > checksums.txt
|
||||||
|
|
||||||
- name: Upload release
|
- name: Create release
|
||||||
env:
|
env:
|
||||||
GITEA_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
GITEA_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
GITEA_URL="https://hub.gaomia.site"
|
GITEA_URL="https://hub.gaomia.site"
|
||||||
REPO="titor/haibao-tts-cli"
|
REPO="titor/haibao-tts-cli"
|
||||||
|
WORKDIR="/workspace/mimo-tts"
|
||||||
|
|
||||||
|
cd "$WORKDIR"
|
||||||
COMMIT_MSG=$(git log -1 --format="%s" HEAD)
|
COMMIT_MSG=$(git log -1 --format="%s" HEAD)
|
||||||
COMMIT_BODY=$(git log -1 --format="%b" HEAD)
|
COMMIT_BODY=$(git log -1 --format="%b" HEAD)
|
||||||
|
|
||||||
TAG_NAME="latest"
|
TAG_NAME="latest"
|
||||||
RELEASE_BODY="${COMMIT_MSG}\n\n${COMMIT_BODY}"
|
RELEASE_BODY="${COMMIT_MSG}\n\n${COMMIT_BODY}"
|
||||||
|
|
||||||
|
# 删除已存在的 release(如果存在)
|
||||||
|
curl -s -X DELETE "${GITEA_URL}/api/v1/repos/${REPO}/releases/tags/${TAG_NAME}" \
|
||||||
|
-H "Authorization: token ${GITEA_TOKEN}"
|
||||||
|
|
||||||
|
# 创建新 release
|
||||||
RELEASE_RESPONSE=$(curl -s -X POST "${GITEA_URL}/api/v1/repos/${REPO}/releases" \
|
RELEASE_RESPONSE=$(curl -s -X POST "${GITEA_URL}/api/v1/repos/${REPO}/releases" \
|
||||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
|
|||||||
Reference in New Issue
Block a user