Skip to content

CI: check site-dir ignores index/game-zip, and the closing line - #16

Merged
dmccoystephenson merged 1 commit into
mainfrom
feature/test-site-dir-ignores-and-final-line
Oct 31, 2026
Merged

dmccoystephenson merged 1 commit into
mainfrom
feature/test-site-dir-ignores-and-final-line

Conversation

@dmccoystephenson

Copy link
Copy Markdown
Member

Stage B test expansion: two deploy.sh behaviours that no CI step exercised are now covered. Only tests and the README "Tests" paragraph change. deploy.sh and action.yml are untouched.

Summary

  • site-dir ignores index and game-zip. action.yml and the README both say these inputs are ignored when site-dir is set. No step proved it, because the static deploy ran with the default web/index.html and web/game.zip already present. A new line in "Bad inputs fail before any request" sets site-dir with a missing index and game-zip, then checks that the script gets past validation and fails only with could not reach http://127.0.0.1:1.
  • The closing log line. The last lines of deploy.sh choose between Stored (not live) for …, Live at … and no line at all (when skipped). None of these were checked. A new step, "The last line says whether the upload is stored, live or skipped", runs deploy.sh by hand against the real arcade: 1.2.0 with ARCADE_ACTIVATE=false, then 1.3.0, then 1.3.0 again with ARCADE_SKIP_EXISTING=true. After each run it checks the exact last line of stdout, then confirms that 1.3.0 is the live version.
  • The README "Tests" paragraph lists both new scenarios.

These are characterization tests: they check what the script does now. No bug was found.

Test plan

  • Test / deploy-to-a-real-arcade is green on the PR head, including the new line in "Bad inputs fail before any request, each with its own ::error::" and the new step "The last line says whether the upload is stored, live or skipped"
  • test.yml parses as YAML (checked locally). Running deploy.sh locally was blocked by the session sandbox, so CI is the only real check.

Compatibility

Backward-compatible for @v1 callers: no input, output, default or script behaviour changes.

Deferred issues

This PR changes .github/workflows/test.yml, so it is do-not-auto-merge and is handed off for human review.

This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).

🤖 Generated with Claude Code


drafted by Claude on behalf of Daniel Stephenson

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dmccoystephenson

Copy link
Copy Markdown
Member Author

Self-review rubric (anchored on CI run 41177296980, green on the PR head):

  • Scope: PASS. Only .github/workflows/test.yml (one expect_error line and one new step) and the README "Tests" paragraph change.
  • Tests-new: PASS. The CI log shows the new expect_error … ARCADE_SITE_DIR=page-site ARCADE_INDEX=web/missing.html ARCADE_GAME_ZIP=web/missing.zip line and the step "The last line says whether the upload is stored, live or skipped" both ran and passed.
  • Tests-fix: N/A. This is a characterization-only PR with no production change.
  • Sibling structure: PASS. The new step follows the helper-function pattern of expect_error / expect_refusal, including the <expected> <ARCADE_*=...>... comment and printing the output on mismatch.
  • Sibling renames: N/A. Nothing is renamed.
  • Docs: PASS. The README "Tests" paragraph names both new scenarios. action.yml and deploy.sh are unchanged, so input and output parity is unaffected.
  • Issue resolution: N/A. This is Stage B work with no tracking issue.
  • CI: PASS. Test / deploy-to-a-real-arcade is green.
  • Input/output parity, token hygiene, failure messages, pre-network validation, compatibility: PASS. deploy.sh and action.yml are untouched. The new step passes the hardcoded non-secret TEST_TOKEN, as the existing by-hand steps do.

Judgment notes for the human reviewer:

  • README.md:91: the phrase "a missing index, game-zip or version-file (with or without site-dir)" predates this PR. Its parenthetical applies only to version-file, and with the new "site-dir ignoring a missing index and game-zip" clause right after it, a reader could take it the wrong way. Rewording it was left out of this PR's scope.
  • .github/workflows/test.yml: the new step makes fixture 1.3.0 live after the activate: false check. No later step reads fixture, so the ordering is safe. Any step added after it must not assume 1.0.0 is live.

Do-not-auto-merge: .github/workflows/test.yml is modified, so this PR is handed off for human review.

This review comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).


drafted by Claude on behalf of Daniel Stephenson

@dmccoystephenson

Copy link
Copy Markdown
Member Author

Correction to the self-review above: the README judgment note should cite README.md:87 (the phrase begins on line 86), not README.md:91. The note itself is unchanged.

This comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).


drafted by Claude on behalf of Daniel Stephenson

@dmccoystephenson
dmccoystephenson merged commit 7e793e9 into main Oct 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant