veritas-kanban/.github/workflows/docker-image.yml
Brad Groux c9db917422
build: enforce Docker image contract (#1222)
* build: enforce Docker image contract

* fix: run Docker contract on durable storage

* build: restore 200 MB image contract

* build: complete container runtime contract

* chore: refresh reviewed secret fingerprint

* fix: unwrap Docker backup response

* build: exclude generated Docker context

* build: enforce platform image budgets

* chore: align Docker docs leak baseline
2026-08-23 23:49:13 -05:00

50 lines
1.1 KiB
YAML

name: Docker Image Contract
on:
push:
branches: [main]
paths:
- Dockerfile
- .dockerignore
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- server/**
- shared/**
- web/**
- scripts/check-docker-image.mjs
- .github/workflows/docker-image.yml
pull_request:
branches: [main]
paths:
- Dockerfile
- .dockerignore
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- server/**
- shared/**
- web/**
- scripts/check-docker-image.mjs
- .github/workflows/docker-image.yml
workflow_dispatch:
permissions:
contents: read
concurrency:
group: docker-image-${{ github.ref }}
cancel-in-progress: true
jobs:
contract:
name: Build, Size, and Runtime Contract
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Build production image
run: docker build --target production --tag veritas-kanban:contract .
- name: Enforce image and runtime contract
run: node scripts/check-docker-image.mjs veritas-kanban:contract