Skip to content

ci(fpga-docker): Build Conscious Image has never passed; Dockerfile.conscious COPYs synth.sh and synth_conscious.sh, deleted in March #874

Open

Description

@gHashTag

FPGA Docker Build (.github/workflows/fpga-docker.yml, job Build Conscious Image) cannot succeed on current main. Every run of it fails at the same step.

What fails

fpga/openxc7-synth/Dockerfile.conscious copies two files that are no longer in the tree:

COPY synth.sh /work/synth.sh                       # line 53
COPY synth_conscious.sh /work/synth_conscious.sh   # line 57
file deleted in date
fpga/openxc7-synth/synth_conscious.sh 1737663 2026-03-08
fpga/openxc7-synth/synth.sh 6f6840d 2026-03-18

The latest run, 37228527653 (on PR #870), stops at:

#11 ERROR: failed to calculate checksum of ref ...: "/synth.sh": not found
#12 ERROR: failed to calculate checksum of ref ...: "/synth_conscious.sh": not found
ERROR: failed to build: failed to solve: ...: "/synth_conscious.sh": not found

Run history

The workflow has 6 runs in total, and none succeeded:

run event branch result date (UTC)
24625363099 push main failure 2026-04-19
34006604035 pull_request fix/dead-paths-entries failure 2026-09-06
34007238938 pull_request fix/dead-paths-entries failure 2026-09-06
34009456178 push main failure 2026-09-06
37227380309 pull_request ci/concurrency-groups cancelled 2026-10-04
37228527653 pull_request ci/concurrency-groups failure 2026-10-04

The workflow only triggers on changes to fpga/openxc7-synth/Dockerfile* or to the workflow file itself, so it runs rarely. As a result, the breakage only shows up as a red check on whichever PR touches those paths. The current case is #870, which adds a concurrency group to the workflow and does not change the build.

Two more defects in the same workflow

These show up in the run 37228527653 log and in the file:

Who uses the image

git grep on main finds no workflow that pulls ghcr.io/.../trinity-openxc7. The only pull instruction is in fpga/openxc7-synth/CI_CD_README.md:60, and it names ghcr.io/gHashTag/trinity/trinity-openxc7:latest, a different repository path from the one this workflow pushes to.

Options

The choice between these is the maintainer's to make.

  1. Remove fpga-docker.yml and Dockerfile.conscious. The scripts the image exists to carry are gone, and CLAUDE.md forbids re-adding .sh files. Of the three options, only this one adds no tooling.
  2. Drop the two COPY/chmod pairs and keep the image as the base plus bc and the environment variables. The image would build, but every usage line in its own MOTD would point at scripts that do not exist.
  3. Leave it as is. Every future PR that touches the Dockerfile or the workflow will keep getting a red check it did not cause.

My recommendation is option 1.

Not measured

  • Whether a trinity-openxc7 package exists on GHCR. The local token has no read:packages scope, and the API returned 404, which does not distinguish "absent" from "not visible".
  • Whether anything outside this repository pulls the image.

Refs #851, #870

🤖 Generated with Claude Code

Activity

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions