Add CI and deploy summaries
ci / Compose (push) Skipped
ci / Workflows (push) Skipped
ci / Shell (push) Skipped
ci / Formatting (push) Skipped
ci / Python and tests (push) Skipped
ci / YAML (push) Skipped
ci / Kubernetes (push) Skipped
ci / Dockerfiles (push) Skipped
ci / Compose (pull_request) Successful in 14s
ci / Workflows (pull_request) Successful in 7s
ci / Shell (pull_request) Successful in 23s
ci / Formatting (pull_request) Successful in 26s
ci / Python and tests (pull_request) Successful in 8s
ci / YAML (pull_request) Successful in 14s
ci / Dockerfiles (pull_request) Successful in 7s
ci / Kubernetes (pull_request) Successful in 10s
ci / build (pull_request) Skipped

This commit is contained in:
forust committed 2026-10-06 23:28:56 +02:00
1 parent b677d553b4
commit d74822cd27
4 files changed
+89 -3

No files matched your search

+21
View File
@@ -231,6 +231,8 @@ def build(output):
)
signature.write_text(image + '\n')
release = {'version': 1, 'sha': sha, 'images': {}, 'inputs': {}}
built = []
reused = []
for name, (context, dockerfile) in IMAGES.items():
image = f'gcr.forust.xyz/forust/{name}'
inputs = fingerprint(context, dockerfile)
@@ -255,8 +257,10 @@ def build(output):
if exists:
print(f'Reuse {name}: inputs unchanged')
digest = old_digest
reused.append((name, image, digest))
else:
print(f'Build {name}', flush=True)
built.append((name, image))
metadata = Path(docker_config) / 'metadata.json'
command(
'docker',
@@ -286,6 +290,23 @@ def build(output):
release['inputs'][image] = inputs
validate_release(release, sha)
output.write_text(json.dumps(release, indent=2) + '\n')
summary = os.environ.get('GITHUB_STEP_SUMMARY')
if summary:
lines = [f'## Image release for `{sha}`', '', '### Built']
lines.extend(f'- `{name}` — `{image}`' for name, image in built)
if not built:
lines.append('- None')
lines.extend(['', '### Reused from successful CI'])
lines.extend(f'- `{name}` — `{image}@{digest}`' for name, image, digest in reused)
if not reused:
lines.append('- None')
lines.extend(['', '### Release digests'])
lines.extend(
f'- `{name}` — `{image}@{release["images"][image]}`'
for name in IMAGES
for image in [f'gcr.forust.xyz/forust/{name}']
)
Path(summary).write_text('\n'.join(lines) + '\n')
finally:
# Cleanup errors must neither leak credentials nor mask the original build error.
try: