From e032253327e30d881574240af3fae9a855482ea1 Mon Sep 17 00:00:00 2001 From: spdis Date: Thu, 27 Nov 2025 11:08:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8act=5Frunner=E7=9A=84?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E4=BB=A5=E6=8F=90=E4=BE=9B=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD[ci][0.2.3]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci.yml | 46 +++++++++++++---------------------------- 1 file changed, 14 insertions(+), 32 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 3bba034..adbfdad 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -24,10 +24,9 @@ jobs: DJANGO_DEBUG: "False" DJANGO_ALLOWED_HOSTS: "127.0.0.1,localhost" IMAGE_NAME: achievement_inputing_ci - ALIST_URL: https://alist.spdis.top - ALIST_PATH: /lanzouyunyouxiang/ci - ALIST_USER: ${{ secrets.ALIST_USER }} - ALIST_PASSWORD: ${{ secrets.ALIST_PASSWORD }} + ARTIFACT_DIR: artifacts + SERVER_DEST_DIR: /srv/ci + DOWNLOAD_BASE: http://139.224.69.213:8080 GITEA_SERVER: ${{ github.server_url }} GITEA_REPO: ${{ github.repository }} RELEASE_TOKEN: ${{ secrets.token }} @@ -75,35 +74,18 @@ jobs: ART="achievement_inputing_ci_${VERSION}.tar" docker save -o "$GITHUB_WORKSPACE/$ART" "$IMAGE_NAME:$VERSION" echo "$ART" > "$GITHUB_WORKSPACE/.artifact_name" - - name: Upload to Alist + - name: Publish artifact locally run: | - set -e ART=$(cat "$GITHUB_WORKSPACE/.artifact_name") - BASE="${ALIST_URL%/}" - curl -sS -o "$GITHUB_WORKSPACE/login.json" -w "%{http_code}" -X POST "$BASE/api/auth/login" -H "Content-Type: application/json" -d "{\"username\":\"$ALIST_USER\",\"password\":\"$ALIST_PASSWORD\"}" > "$GITHUB_WORKSPACE/login.code" - if [ "$(cat "$GITHUB_WORKSPACE/login.code")" != "200" ]; then - echo login_failed - cat "$GITHUB_WORKSPACE/login.json" - exit 1 - fi - TOKEN=$(sed -n 's/.*"token":"\([^"]*\)".*/\1/p' "$GITHUB_WORKSPACE/login.json") - if [ -z "$TOKEN" ]; then - TOKEN=$(sed -n 's/.*"auth":"\([^"]*\)".*/\1/p' "$GITHUB_WORKSPACE/login.json") - fi - if [ -z "$TOKEN" ]; then - echo token_not_found - cat "$GITHUB_WORKSPACE/login.json" - exit 1 - fi - curl -sS -X POST "$BASE/api/fs/mkdir" -H "Authorization: $TOKEN" -H "Content-Type: application/json" -d "{\"path\":\"$ALIST_PATH\"}" >/dev/null 2>&1 || true - UPLOAD_STATUS=$(curl -sS -w "%{http_code}" -o /dev/null -X PUT "$BASE/api/fs/form" -H "Authorization: $TOKEN" -F "path=$ALIST_PATH" -F "file=@$GITHUB_WORKSPACE/$ART;type=application/x-tar") - if [ "$UPLOAD_STATUS" -ge 400 ]; then - UPLOAD_STATUS=$(curl -sS -w "%{http_code}" -o /dev/null -X PUT "$BASE/api/fs/form" -H "Authorization: Bearer $TOKEN" -F "path=$ALIST_PATH" -F "file=@$GITHUB_WORKSPACE/$ART;type=application/x-tar") - fi - if [ "$UPLOAD_STATUS" -ge 400 ]; then - echo upload_failed - exit 1 - fi + mkdir -p "$GITHUB_WORKSPACE/$ARTIFACT_DIR" + mv "$GITHUB_WORKSPACE/$ART" "$GITHUB_WORKSPACE/$ARTIFACT_DIR/" + echo "artifact: $GITHUB_WORKSPACE/$ARTIFACT_DIR/$ART" + - name: Publish to /srv/ci + run: | + ART=$(cat "$GITHUB_WORKSPACE/.artifact_name") + sudo mkdir -p "$SERVER_DEST_DIR" + sudo cp "$GITHUB_WORKSPACE/$ARTIFACT_DIR/$ART" "$SERVER_DEST_DIR/" + echo "published: $SERVER_DEST_DIR/$ART" - name: Create release with download link if: env.RELEASE_TOKEN != '' run: | @@ -111,6 +93,6 @@ jobs: BRANCH=${GITHUB_REF#refs/heads/} TAG="$VERSION" NAME="$VERSION" - DL="${ALIST_URL%/}${ALIST_PATH}/$ART" + DL="${DOWNLOAD_BASE%/}/$ART" JSON=$(printf '{"tag_name":"%s","target_commitish":"%s","name":"%s","body":"%s"}' "$TAG" "$BRANCH" "$NAME" "$DL") curl -sS -X POST "$GITEA_SERVER/api/v1/repos/$GITEA_REPO/releases" -H "Content-Type: application/json" -H "Authorization: token $RELEASE_TOKEN" -d "$JSON"