Merge remote-tracking branch 'origin/master' #121
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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" |