Skip to content

Add pcb import tests#523

Merged
akhilles merged 3 commits intomainfrom
import-testing
Feb 11, 2026
Merged

Add pcb import tests#523
akhilles merged 3 commits intomainfrom
import-testing

Conversation

@akhilles
Copy link
Contributor

@akhilles akhilles commented Feb 11, 2026

Note

Medium Risk
CI changes add a new private-fixture dependency/token and longer E2E execution paths, and the importer now overwrites outputs and proceeds past ERC/DRC errors, which could change user expectations and allow importing designs with known violations.

Overview
Extends the GitHub Actions E2E workflow to clone diodeinc/kicad-test-fixtures and run pcb import for every *.kicad_pro, then pcb build and pcb layout each imported board to validate the full import pipeline.

Refines pcb import behavior: --force now controls whether an existing output board directory is deleted/overwritten (otherwise import fails early), and ERC/DRC errors are downgraded from a blocking/interactive confirmation path to a warning that does not stop import (schematic/layout parity remains blocking).

Written by Cursor Bugbot for commit d9b3433. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

find kicad-test-fixtures -name '*.kicad_pro' | while IFS= read -r pro; do
echo "=== Importing $pro ==="
pcb import "$pro" ./test-import
done
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pipeline while loop may silently swallow import failures

Medium Severity

The find ... | while read pattern runs the while loop in a subshell. While GitHub Actions uses set -eo pipefail, set -e behavior inside a while loop body running in a pipeline subshell is historically inconsistent across bash versions and can silently continue past a failing pcb import without aborting the step. Since this is a test meant to catch import failures, a silently passing step defeats its purpose. Using find -exec or a for loop over a glob (or adding || exit 1 after the pcb import call) would reliably propagate errors.

Fix in Cursor Fix in Web

@akhilles akhilles merged commit 6ae4aa1 into main Feb 11, 2026
12 checks passed
@akhilles akhilles deleted the import-testing branch February 11, 2026 03:09
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.

2 participants