37 lines
1.3 KiB
YAML
37 lines
1.3 KiB
YAML
|
|
name: Build check (reusable)
|
||
|
|
|
||
|
|
# Build-only `docker build` sanity check for ONE app domain, reused via
|
||
|
|
# `uses:` by pr-build.yml and the deploy-dev workflows -- the monorepo port of
|
||
|
|
# each app repo's build.yml. Still deliberately NOT a live boot+healthz check:
|
||
|
|
# that was tried in the split repos and repeatedly hit this runner's own
|
||
|
|
# environment quirks (bridge-IP reachability, non-unique $$, squatted host
|
||
|
|
# ports) without ever going reliably green. Image boot is verified by hand
|
||
|
|
# instead (docker run + alembic + /healthz 200 + a real /api/v2/place 200).
|
||
|
|
#
|
||
|
|
# Monorepo port: the domain (backend|frontend) arrives as a workflow_call
|
||
|
|
# input, and the build CONTEXT is that domain's subdirectory -- so each
|
||
|
|
# Dockerfile sees exactly the tree it saw when its domain was a repo root,
|
||
|
|
# byte-for-byte the same build as the split era.
|
||
|
|
|
||
|
|
on:
|
||
|
|
workflow_call:
|
||
|
|
inputs:
|
||
|
|
domain:
|
||
|
|
description: "App domain to build: backend | frontend"
|
||
|
|
required: true
|
||
|
|
type: string
|
||
|
|
|
||
|
|
jobs:
|
||
|
|
build:
|
||
|
|
runs-on: docker
|
||
|
|
steps:
|
||
|
|
- uses: actions/checkout@v4
|
||
|
|
|
||
|
|
- name: Install Docker CLI
|
||
|
|
run: |
|
||
|
|
apt-get update -qq
|
||
|
|
apt-get install -y -qq docker.io
|
||
|
|
|
||
|
|
- name: Build
|
||
|
|
run: docker build -t thermograph-${{ inputs.domain }}:ci ${{ inputs.domain }}/
|