Skip to content

Fix local CI run errors#1

Closed
jvd10 wants to merge 5 commits into
OpenCHAMI:mainfrom
jvd10:fix-local-ci-run
Closed

Fix local CI run errors#1
jvd10 wants to merge 5 commits into
OpenCHAMI:mainfrom
jvd10:fix-local-ci-run

Conversation

@jvd10

@jvd10 jvd10 commented Jun 10, 2026

Copy link
Copy Markdown

Checklist

  • My code follows the style guidelines of this project

  • I have added/updated comments where needed

  • I have added tests that prove my fix is effective or my feature works

  • REUSE Compliance:

    • Each new/modified source file has SPDX copyright and license headers
    • Any non-commentable files include a .license sidecar
    • All referenced licenses are present in the LICENSES/ directory

Description

This PR hardens local CI reliability for the integration sandbox, especially on macOS/arm64 and environments without host Vault tooling.

Summary of changes:

  • Made startup resilient when the optional IPMI simulator image is unavailable by conditionally enabling the ipmi profile and warning instead of failing.
  • Removed host Vault CLI dependency in both fixture seeding and Bats smoke tests by executing Vault commands inside the sandbox-vault container.
  • Fixed docker-compose interpolation warning in bmc-sim TLS cert generation by escaping HOSTNAME correctly for container-time expansion.
  • Added linux/amd64 platform pin for power-control to avoid architecture pull/runtime issues on arm64 hosts.
  • Tuned fru-tracker SQLite connection settings with busy timeout and WAL mode to reduce lock contention during reconcile-heavy runs.
  • Reduced UC4 JWT timing flake by adding parser leeway in the integration test.

Motivation/context:

  • Local make ci runs were failing due to environment sensitivity (missing optional image, missing host Vault CLI, arm64 image/platform friction, and test timing/database contention edge cases).
  • These changes improve portability and reduce flaky failures during local verification.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

alexlovelltroy and others added 5 commits June 10, 2026 17:18
…remove unused waitFor200 function from tests

Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
…omments for consistency

Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
…security

Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
…working set

Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
…ation failures

This commit groups local CI stability fixes discovered while running make ci on macOS/arm64 and in environments without host-side Vault CLI tools.

Changes included:

1) scripts/up.sh
- Gate the ipmi profile on actual image availability.
- If SBX_IPMI_SIM_IMAGE is neither present locally nor pullable, continue without COMPOSE_PROFILES=ipmi instead of failing up/ci.
- Emit heartbeat + stderr warning to make the fallback explicit.

2) fixtures/vault-seed.sh
- Remove dependency on a host-installed vault binary.
- Add a shell function that executes vault commands inside sandbox-vault via docker exec, forwarding VAULT_ADDR and VAULT_TOKEN.
- Keeps seeding self-contained and consistent with the running stack.

3) tests/bats/cli-smoke.bats
- Same portability fix as seed script: run vault commands inside sandbox-vault instead of requiring host vault CLI.
- Eliminates command-not-found failures in bats smoke tests on fresh machines.

4) compose/bmc-sim.yaml
- Escape HOSTNAME in the openssl subject from  to 18386{HOSTNAME}.
- Prevents docker compose host-side interpolation warning and preserves container runtime expansion.

5) compose/core.yaml
- power-control: set platform: linux/amd64 to avoid manifest/platform resolution failures on arm64 hosts.
- fru-tracker: tune sqlite DSN with _busy_timeout=5000 and _journal_mode=WAL to reduce write-lock contention during reconcile-heavy UC7 runs.

6) tests/integration/uc4_tokensmith_smd_test.go
- Add jwt.WithLeeway(30*time.Second) to token parsing.
- Reduces false negatives caused by minor clock skew where freshly minted tokens can briefly appear 'not valid yet'.

Net effect:
- Sandbox startup is more resilient when optional/local images are missing.
- Vault seed + bats smoke no longer require host vault installation.
- Compose warning noise is removed.
- UC4 claim validation is less flaky across hosts.
- Host architecture and sqlite contention edge cases are handled better for local CI iteration.
@jvd10 jvd10 closed this Jun 10, 2026
@jvd10

jvd10 commented Jun 10, 2026

Copy link
Copy Markdown
Author

fixing signoff issues

@jvd10
jvd10 deleted the fix-local-ci-run branch June 10, 2026 22:40
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