This commit is contained in:
@@ -24,10 +24,9 @@ jobs:
|
|||||||
DJANGO_DEBUG: "False"
|
DJANGO_DEBUG: "False"
|
||||||
DJANGO_ALLOWED_HOSTS: "127.0.0.1,localhost"
|
DJANGO_ALLOWED_HOSTS: "127.0.0.1,localhost"
|
||||||
IMAGE_NAME: achievement_inputing_ci
|
IMAGE_NAME: achievement_inputing_ci
|
||||||
ALIST_URL: https://alist.spdis.top
|
ARTIFACT_DIR: artifacts
|
||||||
ALIST_PATH: /lanzouyunyouxiang/ci
|
SERVER_DEST_DIR: /srv/ci
|
||||||
ALIST_USER: ${{ secrets.ALIST_USER }}
|
DOWNLOAD_BASE: http://139.224.69.213:8080
|
||||||
ALIST_PASSWORD: ${{ secrets.ALIST_PASSWORD }}
|
|
||||||
GITEA_SERVER: ${{ github.server_url }}
|
GITEA_SERVER: ${{ github.server_url }}
|
||||||
GITEA_REPO: ${{ github.repository }}
|
GITEA_REPO: ${{ github.repository }}
|
||||||
RELEASE_TOKEN: ${{ secrets.token }}
|
RELEASE_TOKEN: ${{ secrets.token }}
|
||||||
@@ -75,35 +74,18 @@ jobs:
|
|||||||
ART="achievement_inputing_ci_${VERSION}.tar"
|
ART="achievement_inputing_ci_${VERSION}.tar"
|
||||||
docker save -o "$GITHUB_WORKSPACE/$ART" "$IMAGE_NAME:$VERSION"
|
docker save -o "$GITHUB_WORKSPACE/$ART" "$IMAGE_NAME:$VERSION"
|
||||||
echo "$ART" > "$GITHUB_WORKSPACE/.artifact_name"
|
echo "$ART" > "$GITHUB_WORKSPACE/.artifact_name"
|
||||||
- name: Upload to Alist
|
- name: Publish artifact locally
|
||||||
run: |
|
run: |
|
||||||
set -e
|
|
||||||
ART=$(cat "$GITHUB_WORKSPACE/.artifact_name")
|
ART=$(cat "$GITHUB_WORKSPACE/.artifact_name")
|
||||||
BASE="${ALIST_URL%/}"
|
mkdir -p "$GITHUB_WORKSPACE/$ARTIFACT_DIR"
|
||||||
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"
|
mv "$GITHUB_WORKSPACE/$ART" "$GITHUB_WORKSPACE/$ARTIFACT_DIR/"
|
||||||
if [ "$(cat "$GITHUB_WORKSPACE/login.code")" != "200" ]; then
|
echo "artifact: $GITHUB_WORKSPACE/$ARTIFACT_DIR/$ART"
|
||||||
echo login_failed
|
- name: Publish to /srv/ci
|
||||||
cat "$GITHUB_WORKSPACE/login.json"
|
run: |
|
||||||
exit 1
|
ART=$(cat "$GITHUB_WORKSPACE/.artifact_name")
|
||||||
fi
|
sudo mkdir -p "$SERVER_DEST_DIR"
|
||||||
TOKEN=$(sed -n 's/.*"token":"\([^"]*\)".*/\1/p' "$GITHUB_WORKSPACE/login.json")
|
sudo cp "$GITHUB_WORKSPACE/$ARTIFACT_DIR/$ART" "$SERVER_DEST_DIR/"
|
||||||
if [ -z "$TOKEN" ]; then
|
echo "published: $SERVER_DEST_DIR/$ART"
|
||||||
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
|
|
||||||
- name: Create release with download link
|
- name: Create release with download link
|
||||||
if: env.RELEASE_TOKEN != ''
|
if: env.RELEASE_TOKEN != ''
|
||||||
run: |
|
run: |
|
||||||
@@ -111,6 +93,6 @@ jobs:
|
|||||||
BRANCH=${GITHUB_REF#refs/heads/}
|
BRANCH=${GITHUB_REF#refs/heads/}
|
||||||
TAG="$VERSION"
|
TAG="$VERSION"
|
||||||
NAME="$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")
|
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"
|
curl -sS -X POST "$GITEA_SERVER/api/v1/repos/$GITEA_REPO/releases" -H "Content-Type: application/json" -H "Authorization: token $RELEASE_TOKEN" -d "$JSON"
|
||||||
|
|||||||
Reference in New Issue
Block a user