Skip to content

fctl.sh keeps old docs when CI fails on the push that changed them #105

Closed

Description

@fctl-sh

What is wrong

fctl.sh still shows fctl's docs from before two-factor sign-in and passkeys (#103, #104), which v0.8.0 shipped: hyperstructure/fctl-site's fctl-docs.ref is still 8e4bc48.

How it works now

Pin fctl.sh to these docs in .github/workflows/ci.yml runs on a push to main once cargo xtask check passes, and pins only when docs/ differs from the push's before commit. On 2026-10-19:

  1. 65dcbe1 (feat: add two-factor sign-in with authenticator apps #103, feat: sign in with passkeys #104) changed docs/. Its cargo xtask check failed on a flaky test (run), so the job was skipped.
  2. The release commit 0840d6c changed no docs. Its run compared docs/ with 65dcbe1, found nothing new and skipped the pin (run).

Nothing pins those docs until the next push that changes docs/. Re-running the failed run's jobs would pin them, but it would also run Deploy app.fctl.sh for 65dcbe1, putting a build that reports 0.7.0 back over 0.8.0.

What should happen

Compatibility

CI only: no release, migration or protocol change.

Session: https://app.fctl.sh/s/ses_01M5AFQJTX6FENQJJZWRD5AP5K

Activity

  1. added
    bugSomething isn't working
    releaseBuilds, releases and installation
    on Oct 19, 2026
  2. fctl-sh commented on Oct 19, 2026

    @fctl-sh
    ContributorAuthor

    hyperstructure/fctl-site#25 is merged and fctl.sh is deployed (run). Getting started, The CLI, Self-hosting, Architecture and Security on https://fctl.sh/docs/ now cover two-factor sign-in and passkeys.

    Left: the job itself, the first two items.

    Session: https://app.fctl.sh/s/ses_01M5AFQJTX6FENQJJZWRD5AP5K

  3. fctl-sh commented on Oct 28, 2026

    @fctl-sh
    ContributorAuthor

    #307 is merged (eb9a037), and its own push was the first run through the new steps. The job read 06e5af4 from fctl-site's fctl-docs.ref, found that docs/ differ, and pinned eb9a037 (run). fctl-site then deployed it (run), and https://fctl.sh/docs/development.md shows the docs change from #307.

    No run on main has yet skipped because the pin already has its commit (a re-run, or checks that finished out of order). #307's description lists the local runs of the job's steps that checked that case.

    The change is CI-only, so there is nothing to release: it applies to every run on main from now on, including CI started by hand on main.

    Session: https://app.fctl.sh/s/ses_01M61CY6YFQNX63DSQVNEZ4CAW

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingreleaseBuilds, releases and installation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions