Skip to content

Merge remote-tracking branch 'origin/master' #121

Merge remote-tracking branch 'origin/master'

Merge remote-tracking branch 'origin/master' #121

Workflow file for this run

# The environment repo's own CI. The fleet-automation test suites moved to
# bitbaum/fleet with the scripts they test (2026-08-28); what remains here is
# the environment, so what CI checks is the environment.
name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v7
# Shell must parse. install.sh is what lands on a new machine; a syntax
# error there is discovered at the worst possible moment.
- name: Shell syntax
run: |
set -euo pipefail
found=0
while IFS= read -r f; do
found=$((found + 1))
bash -n "$f"
done < <(find . -name '*.sh' -not -path './.git/*')
echo "shell syntax: ok ($found script(s) checked)"
# Every symlink install.sh would create must point at a file that exists
# in this repo — a dangling link is a broken shell on a new machine.
- name: install.sh targets exist
run: |
set -euo pipefail
missing=0
while IFS= read -r target; do
[ -e "$target" ] || { echo "install.sh links '$target', which does not exist" >&2; missing=1; }
done < <(grep -oP '^\s*link\s+\K\S+' install.sh || true)
[ "$missing" -eq 0 ]
echo "install targets: ok"