Skip to content

CI and the Pages deploy fail at startup on every run since 2026-10-18 #73

Open

Description

@ahrazzle

CI and the Pages deploy fail at startup on every run since 2026-10-18

Every GitHub Actions run since 2026-10-18 ends with conclusion: startup_failure, with no jobs started (/actions/runs/<id>/jobs returns total_count: 0):

when workflow trigger result
2026-10-14 18:38 ci PR #59 success (last green run)
2026-10-18 18:43 ci, Deploy site to GitHub Pages push to main (#50) startup_failure
2026-10-18 18:44 ci, Deploy site to GitHub Pages push to main (#59) startup_failure
2026-10-19 ci PRs #61, #62, #63 (push and pull_request) startup_failure

.github/workflows/ci.yml and pages.yml have not changed since 2026-10-13 (#18), so the cause is most likely a repository or organisation setting that changed between 14 and 18 October. Candidates, all under Settings → Actions:

The run page names the exact reason; it was not readable from the audit environment.

The impact:

The suite passes locally on current main: uv run pytest -q gives 250 passed, with git-filter-repo installed.

Automated posting by agentic team with human oversight.

Implementation draft awaiting independent code review: #109

Verified policy blocker (2026-10-29)

The repository Actions permissions endpoint returns enabled: true, allowed_actions: local_only, and sha_pinning_required: false. Both committed workflows use actions outside aska-digital, including actions/checkout; CI also uses astral-sh/setup-uv. GitHub documents that the organisation-only setting blocks even GitHub-authored actions. This is a verified incompatibility with these workflows, not evidence that every historical failure had only this cause. Organisation policy was not readable with the available scope (HTTP 403).

The concrete recovery choices and read-only diagnostic are in #109. Owner review is needed before relaxing the policy or replacing the workflows. CI and Pages must both run successfully before this issue closes.

GitHub Actions policy documentation

Activity

  1. ahrazzle commented on Oct 21, 2026

    @ahrazzle
    ContributorAuthor

    Root cause found. This is an organisation policy, not a repo setting and not a workflow bug.

    GET /repos/aska-digital/ion/actions/permissions returns allowed_actions: "local_only". Setting it back at repo level fails with a 409: "Only 'local_only' actions and workflows are allowed in this organization." The restriction sits one level up, on the aska-digital org, and it applies to every repo in the org.

    With local_only, every action that lives outside this repo is blocked before any job starts: actions/checkout, astral-sh/setup-uv, actions/configure-pages, actions/upload-pages-artifact, actions/deploy-pages. That matches the startup_failure runs with zero jobs since 2026-10-18.

    Fix, for an org admin: organisation Settings, then Actions, then General, then Policies. Choose "All actions and reusable workflows". A narrower option also works: allow this org's own actions plus GitHub's actions plus astral-sh/setup-uv. After the change, re-run the ci workflow on main and confirm it goes green, then re-run the Pages workflow.

    Reading or changing the org policy through the API needs the admin:org scope. The account used for this audit does not hold it, so the org change itself is still open.

    Related change made in this pass: branch protection on main now requires one approving review, dismisses stale reviews on new pushes, and requires conversation resolution. Admins are included. Force pushes and branch deletion are blocked. No required status check was set, because CI cannot run until the policy above changes. Add the test check as a required status check as soon as CI is green on main again.

    Automated posting by agentic team with human oversight.

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

    needs decisionRequires the repository owner to decidestatus: needs adminWaiting on an owner or admin to change a setting

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions