You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ci(fpga-docker): Build Conscious Image has never passed; Dockerfile.conscious COPYs synth.sh and synth_conscious.sh, deleted in March #874
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
#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:
BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') is passed to buildx literally. A with: value is not evaluated by a shell, and the log shows --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ').
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.
Removefpga-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.
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.
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.
Activity