Skip to content

Commit dc5dc62

Browse files
feat: Update default image manifest and Makefile to reflect verified working set
Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
1 parent f87fc3a commit dc5dc62

3 files changed

Lines changed: 50 additions & 30 deletions

File tree

.github/workflows/ci.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,23 @@
2323
name: ci
2424

2525
on:
26+
# Auto-trigger only when an image manifest changes. The harness itself
27+
# (scripts, fixtures, compose, tests) doesn't get re-run on every push
28+
# because the test surface is the image set — code changes can be
29+
# validated with workflow_dispatch when needed.
2630
push:
2731
branches: [main]
32+
paths:
33+
- "images/**.env"
2834
pull_request:
29-
schedule:
30-
# Daily 06:00 UTC - drift detection against floating tags
31-
- cron: "0 6 * * *"
35+
paths:
36+
- "images/**.env"
3237
workflow_dispatch:
3338
inputs:
3439
images:
35-
description: "Manifest under images/ (release | default | edge | release-v1.0)"
40+
description: "Manifest under images/ (default | release | edge | release-v1.0)"
3641
type: string
37-
default: "release"
42+
default: "default"
3843
skip_sim:
3944
description: "Skip building and starting ipmi-sim / remote-console"
4045
type: boolean
@@ -93,7 +98,7 @@ permissions:
9398
packages: read
9499

95100
env:
96-
IMAGES: ${{ inputs.images || 'release' }}
101+
IMAGES: ${{ inputs.images || 'default' }}
97102
SKIP_SIM: ${{ inputs.skip_sim || 'true' }}
98103
SBX_VAULT_IMAGE: ${{ inputs.sbx_vault_image }}
99104
SBX_LOCALSTACK_IMAGE: ${{ inputs.sbx_localstack_image }}

Makefile

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
.DEFAULT_GOAL := help
22

33
ROOT := $(shell pwd)
4-
# Default to the `release` manifest — each OpenCHAMI service is pinned to its
5-
# latest GitHub Release tag (regenerate with `make refresh-releases`). Use
6-
# IMAGES=default for the floating :latest tags, IMAGES=edge for :main builds.
7-
IMAGES ?= release
4+
# Default to the `default` manifest — the verified known-good PR-tag mix
5+
# (see images/default.env header for the date it was last validated).
6+
# IMAGES=release pins to the latest GitHub Release tags (regenerate with
7+
# `make refresh-releases`); IMAGES=edge tracks :main for drift detection.
8+
IMAGES ?= default
89
COMPOSE := docker compose -f compose/infra.yaml -f compose/bmc-sim.yaml -f compose/core.yaml
910

1011
# Export so scripts/load-images.sh sees it.
@@ -15,9 +16,9 @@ export IMAGES
1516
help: ## Show this help
1617
@grep -E '^[a-zA-Z_-]+:.*?## ' $(MAKEFILE_LIST) | awk -F':.*## ' '{printf " %-20s %s\n", $$1, $$2}'
1718
@echo ""
18-
@echo "Image selection (default: releaselatest GitHub Release tag of each service):"
19-
@echo " make ci # images/release.env (default)"
20-
@echo " make ci IMAGES=default # images/default.env (floating :latest)"
19+
@echo "Image selection (default: defaultverified known-good PR-tag mix):"
20+
@echo " make ci # images/default.env (default)"
21+
@echo " make ci IMAGES=release # images/release.env (latest GH Releases)"
2122
@echo " make ci IMAGES=edge # images/edge.env (:main builds)"
2223
@echo " make ci IMAGES=release-v1.0 # images/release-v1.0.env (pinned snapshot)"
2324
@echo " make ci SBX_TOKENSMITH_IMAGE=ghcr.io/openchami/tokensmith:pr-23"

images/default.env

Lines changed: 31 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,30 @@
1-
# integration-sandbox image manifest — default (floating :latest tags)
1+
# Copyright © 2026 OpenCHAMI a Series of LF Projects, LLC
22
#
3-
# NOTE: this is no longer the active default for `make ci`. The active default
4-
# is now `release` (images/release.env), which pins each OpenCHAMI service to
5-
# its most recent GitHub Release tag. Use `IMAGES=default` to opt back into
6-
# the floating :latest tags below.
3+
# SPDX-License-Identifier: MIT
74
#
8-
# Sourced by the Makefile before invoking docker compose. Per-service env vars
9-
# (e.g. SBX_TOKENSMITH_IMAGE=ghcr.io/openchami/tokensmith:pr-23) override these.
5+
# integration-sandbox image manifest — default (verified working set)
106
#
11-
# Switch manifests with `make ci IMAGES=<name>` — looks up images/<name>.env.
7+
# This is the active default for `make ci` and the CI workflow. The combination
8+
# below was the only one that produced a green end-to-end run during testing
9+
# on 2026-05-31; treat it as the canonical "known to work" pin until either:
10+
# (a) one of the upstream services publishes a stable release that
11+
# supersedes its PR tag AND that release has been verified here, OR
12+
# (b) someone explicitly re-verifies against a different combination and
13+
# updates this file (bump the date above as part of that change).
14+
#
15+
# SMD is on its latest GitHub Release; everything else tracks an in-flight PR.
16+
# PR tags can be garbage-collected by GHCR — if a pull fails, check the source
17+
# repo for the live tag.
18+
#
19+
# Other manifests:
20+
# IMAGES=release → images/release.env (latest GH Release of each service)
21+
# IMAGES=edge → images/edge.env (:main builds, drift detection)
22+
# IMAGES=release-v1.0 → images/release-v1.0.env (pinned snapshot)
23+
#
24+
# Per-service env vars (e.g. SBX_TOKENSMITH_IMAGE=...) override entries below.
25+
# Switch manifests with `make ci IMAGES=<name>` → looks up images/<name>.env.
1226

13-
# Infra (third-party)
27+
# Infra (third-party, version-pinned)
1428
SBX_VAULT_IMAGE=hashicorp/vault:1.21
1529
SBX_LOCALSTACK_IMAGE=localstack/localstack:3
1630
SBX_POSTGRES_IMAGE=postgres:16-alpine
@@ -19,11 +33,11 @@ SBX_POSTGRES_IMAGE=postgres:16-alpine
1933
SBX_SUSHY_IMAGE=quay.io/metal3-io/sushy-tools:latest
2034
SBX_IPMI_SIM_IMAGE=openchami/ipmi-sim:dev
2135

22-
# OpenCHAMI services
23-
SBX_SMD_IMAGE=ghcr.io/openchami/smd:2.17
24-
SBX_TOKENSMITH_IMAGE=ghcr.io/openchami/tokensmith:latest
25-
SBX_BOOT_IMAGE=ghcr.io/openchami/boot-service:latest
26-
SBX_METADATA_IMAGE=ghcr.io/openchami/metadata-service:latest
27-
SBX_FRU_IMAGE=ghcr.io/openchami/fru-tracker:latest
28-
SBX_POWER_IMAGE=ghcr.io/openchami/power-control:latest
29-
SBX_MAGELLAN_IMAGE=ghcr.io/openchami/magellan:latest
36+
# OpenCHAMI services — verified known-good combination
37+
SBX_SMD_IMAGE=ghcr.io/openchami/smd:v2.20.3
38+
SBX_TOKENSMITH_IMAGE=ghcr.io/openchami/tokensmith:pr-24
39+
SBX_BOOT_IMAGE=ghcr.io/openchami/boot-service:pr-16
40+
SBX_METADATA_IMAGE=ghcr.io/openchami/metadata-service:pr-15
41+
SBX_FRU_IMAGE=ghcr.io/openchami/fru-tracker:pr-22
42+
SBX_POWER_IMAGE=ghcr.io/openchami/pcs:pr-68
43+
SBX_MAGELLAN_IMAGE=ghcr.io/openchami/magellan:v0.5.1

0 commit comments

Comments
 (0)