Skip to content

Stop deploying over SSH; publish the book as a build artifact#475

Merged
hendricius merged 1 commit into
mainfrom
fix/ci-resilient-release-deploy
Jun 5, 2026
Merged

Stop deploying over SSH; publish the book as a build artifact#475
hendricius merged 1 commit into
mainfrom
fix/ci-resilient-release-deploy

Conversation

@hendricius
Copy link
Copy Markdown
Owner

@hendricius hendricius commented Jun 4, 2026

What

The downloads server that this workflow used to deploy to over SSH is gone, which had been failing the Release the book and website run on every push to main. Instead of deploying from CI, this workflow now just builds and publishes the book as a GitHub artifact. Releases are made manually from the the-bread-code-downloads repo, which pulls the latest artifact and commits it (served at downloads.the-bread-code.io).

How

  • Remove both dead rsync-to-SSH-server steps (book + website). They could only ever fail now that the server is unreachable.
  • Upload the full, reader-facing release set from book/release/ as the books artifact (the TheBreadCode-* PDFs and EPUBs), so the downloads repo's release script can copy the correctly-named files directly. Previously this uploaded the raw build outputs (book.pdf, book.log, book.epub).
  • Bump the deprecated actions flagged in the run annotations: actions/checkout v3v4.

The website is still uploaded as an artifact; it is no longer pushed anywhere from CI.

Follow-up

Once this is merged and main produces a green run, make release in the downloads repo will pull the fresh books artifact. (Artifacts expire after ~90 days, so releases should be made from reasonably recent builds; the script also supports --local to publish from a local make bake.)

The "Release the book and website" workflow has been failing on every
push to main. The book and website build fine, but the deploy step
("Copy book to downloads server") can't reach the host in SSH_HOST:

    ssh: connect to host *** port 22: Network unreachable
    rsync error: unexplained error (code 255)

That's an infrastructure issue (server down / moved / firewalled), not a
problem with the book. Mark both rsync deploy steps continue-on-error so
a temporarily unreachable downloads server no longer fails the whole
release - the book/website artifacts are still uploaded to GitHub.

Also bump the deprecated actions flagged in the run annotations:
- burnett01/rsync-deployments 7.0.2 -> v8 (inputs unchanged)
- actions/checkout v3 -> v4 (Node 20 is being forced to Node 24)
@hendricius hendricius merged commit 1a4c5e8 into main Jun 5, 2026
2 checks passed
@hendricius hendricius changed the title Don't fail the release when the downloads server is unreachable Stop deploying over SSH; publish the book as a build artifact Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant