4e90b65c6b
Rationalize the release workflow by adding top-level concurrency to avoid overlapping publish runs for the same ref and by restricting cleanup jobs to tag refs only. Keep ci.yml as the PR/main validation gate while docker.yml remains focused on release publishing and post-release maintenance. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
36 lines
851 B
YAML
36 lines
851 B
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
# Prefer Makefile targets; this is intentionally generic.
|
|
- name: Run checks
|
|
run: |
|
|
set -e
|
|
if make -n check >/dev/null 2>&1; then
|
|
make check
|
|
elif make -n lint >/dev/null 2>&1 && make -n test >/dev/null 2>&1; then
|
|
make lint && make test
|
|
else
|
|
echo "No Makefile check/lint/test targets found; skipping."
|
|
fi
|
|
|
|
- name: Build runtime image (if Dockerfile present)
|
|
run: |
|
|
set -e
|
|
if [ -f Dockerfile ]; then
|
|
docker build --target runtime --tag webterm:ci .
|
|
else
|
|
echo "No Dockerfile found; skipping."
|
|
fi
|