The inline 'cat > /tmp/bump.js <<JS' heredoc died because Gitea Actions
indents the entire run: block, and the closing 'JS' marker for an
unquoted heredoc must sit at column zero. The script never reached
disk and the action exited on a syntax error.
Move the editor into bump.js next to action.yml, reference it via
${{ github.action_path }}.
bump-stacks: invoked by stack-repo CI after a successful image push.
Clones libretech/gitops-sandbox, mutates stacks.yml to pin the new
short sha for the named stack, commits + pushes back. Idempotent —
exits 0 with a no-op notice when the sha is already pinned. Retries
up to 3× on non-fast-forward to absorb concurrent bumps.
deploy-stack: invoked by stack-repo deploy.yml (workflow_dispatch).
SSHes to netcup with a stack-scoped key, writes a .env.deploy file
pinning <STACK>_IMAGE, runs 'compose pull && compose up -d'. Writes
/srv/<stack>/.deployed for drift checks.
The file was a copy-paste template for libreshop component repos but
lived in .gitea/workflows/ — so Gitea auto-ran it against this repo
on every push, failing because there is no Dockerfile here. Every
push to main has been red since the template was committed.
Move to examples/ and document why it cannot live in .gitea/workflows/.