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
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:
1 parent
b677d553b4
commit
d74822cd27
4 files changed
+89
-3
No files matched your search
@@ -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:
|
||||
|
||||
Reference in new issue
Block a user