use Gitea API for manifest update
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2026-02-15 00:01:08 +00:00
parent 922d25cc9d
commit c2e1678416

View File

@@ -19,16 +19,15 @@ steps:
from_secret: docker_password from_secret: docker_password
- name: update-manifests - name: update-manifests
image: alpine/git image: alpine/curl
environment: environment:
GITEA_USER: GITEA_TOKEN:
from_secret: docker_username from_secret: gitea_token
GITEA_PASS:
from_secret: docker_password
commands: commands:
- 'sed -i "s#image: git.mikhailkilin.ru/killingdruid/bcard:.*#image: git.mikhailkilin.ru/killingdruid/bcard:${CI_COMMIT_SHA}#" k8s/bcard.yaml' - apk add --no-cache jq sed
- git config user.email "woodpecker@ci" - 'FILE_SHA=$(curl -sk -H "Authorization: token ${GITEA_TOKEN}" "https://git.mikhailkilin.ru/api/v1/repos/killingdruid/bcard/contents/k8s/bcard.yaml" | jq -r .sha)'
- git config user.name "Woodpecker CI" - 'CURRENT=$(curl -sk -H "Authorization: token ${GITEA_TOKEN}" "https://git.mikhailkilin.ru/api/v1/repos/killingdruid/bcard/raw/k8s/bcard.yaml")'
- git add k8s/bcard.yaml - 'UPDATED=$(echo "$CURRENT" | sed "s#image: git.mikhailkilin.ru/killingdruid/bcard:.*#image: git.mikhailkilin.ru/killingdruid/bcard:${CI_COMMIT_SHA}#")'
- 'printf "machine git.mikhailkilin.ru\nlogin %s\npassword %s\n" "${GITEA_USER}" "${GITEA_PASS}" > ~/.netrc && chmod 600 ~/.netrc' - 'NEW_CONTENT=$(echo "$UPDATED" | base64 -w 0)'
- 'git diff --cached --quiet && echo "No changes" || (git commit -m "[CI SKIP] deploy: ${CI_COMMIT_SHA}" && git push origin HEAD:main)' - 'curl -sk -X PUT -H "Authorization: token ${GITEA_TOKEN}" -H "Content-Type: application/json" -d "{\"content\":\"${NEW_CONTENT}\",\"message\":\"[CI SKIP] deploy: ${CI_COMMIT_SHA}\",\"sha\":\"${FILE_SHA}\"}" "https://git.mikhailkilin.ru/api/v1/repos/killingdruid/bcard/contents/k8s/bcard.yaml"'
- echo "Manifest updated successfully"