when: - branch: main event: push path: exclude: - 'k8s/**' on_empty: true steps: - name: build-and-push image: woodpeckerci/plugin-kaniko settings: registry: git.mikhailkilin.ru repo: killingdruid/bcard tags: ${CI_COMMIT_SHA} username: from_secret: docker_username password: from_secret: docker_password - name: update-manifests image: alpine/curl environment: GITEA_TOKEN: from_secret: gitea_token commands: - apk add --no-cache jq sed - '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)' - 'CURRENT=$(curl -sk -H "Authorization: token ${GITEA_TOKEN}" "https://git.mikhailkilin.ru/api/v1/repos/killingdruid/bcard/raw/k8s/bcard.yaml")' - 'UPDATED=$(echo "$CURRENT" | sed "s#image: git.mikhailkilin.ru/killingdruid/bcard:.*#image: git.mikhailkilin.ru/killingdruid/bcard:${CI_COMMIT_SHA}#")' - 'NEW_CONTENT=$(echo "$UPDATED" | base64 -w 0)' - '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"