Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/script-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Script tests

on:
push:
branches: [main]
pull_request:
branches: [main]
merge_group:

permissions:
contents: read

jobs:
script-test:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
python-version: "3.12"

- name: Install uv
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0

- name: Install test dependencies
run: uv pip install --system jsonschema==4.23.0

Comment thread
ifireball marked this conversation as resolved.
- run: make script-test
Comment thread
ifireball marked this conversation as resolved.
27 changes: 27 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
.DEFAULT_GOAL := help
.PHONY: help script-test test

help:
@echo "Available targets:"
@echo " help - Show this help message"
@echo " script-test - Run agent shell script unit tests"
@echo " test - Alias for script-test"

define run-timed
@start=$$(date +%s); \
rc=0; $(1) || rc=$$?; \
elapsed=$$(($$(date +%s) - $$start)); \
printf '::debug::script-test timing: %s completed in %ds\n' '$(1)' "$$elapsed"; \
Comment thread
ifireball marked this conversation as resolved.
exit $$rc
Comment thread
ifireball marked this conversation as resolved.
endef

script-test:
$(call run-timed,bash scripts/post-triage-test.sh)
$(call run-timed,bash scripts/post-prioritize-test.sh)
$(call run-timed,bash scripts/post-code-test.sh)
$(call run-timed,bash scripts/post-review-test.sh)
$(call run-timed,bash scripts/post-fix-test.sh)
$(call run-timed,bash scripts/post-retro-test.sh)
$(call run-timed,bash scripts/validate-output-schema-test.sh)

test: script-test
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,16 @@ Agents run inside sandboxed containers with strict filesystem, network, and bina

The agent never has direct write access to the repository. All mutations flow through post-scripts.

## Testing

Run all agent shell script test suites from the repo root:

```bash
make test
```

This is an alias for `make script-test`, which runs the seven `scripts/*-test.sh` suites. CI runs the same target via `.github/workflows/script-test.yml`.

## Versioning

This repository is versioned in lockstep with [fullsend](https://github.com/fullsend-ai/fullsend). Tags are pushed by fullsend's release workflow after a successful release — they are not created here directly. The `v0` floating tag always points to the latest stable (non-prerelease) version.
Expand All @@ -50,3 +60,4 @@ This repository is versioned in lockstep with [fullsend](https://github.com/full
|------|-----------|---------|
| `fullsend.yaml` | fullsend (centrally managed) | Routes GitHub events to agent dispatch workflows |
| `release.yml` | This repo | Creates GitHub Releases and moves the `v0` tag on version tag push |
| `script-test.yml` | This repo | Runs agent shell script tests on PRs and main branch pushes |
Loading