Skip to content

docs: added details around build, test, app_root to BUILDING.md - #2288

Open
michaelzhang114 wants to merge 1 commit into
apple:mainfrom
michaelzhang114:docs/building-test-options
Open

michaelzhang114 wants to merge 1 commit into
apple:mainfrom
michaelzhang114:docs/building-test-options

Conversation

@michaelzhang114

Copy link
Copy Markdown

Important

All commits must be signed and verified. Pull requests containing unsigned or unverified commits cannot be built or merged. See the GitHub documentation for instructions.

For all but trivial fixes, make sure to first create a GitHub issue that concisely describes the bug or desired enhancement as justification for the change. Large PRs with no justifying issue will be closed.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Motivation and Context

Fixes #2287

A new contributor following the documented command can stop their working container
installation with no warning, and has no way to know which knobs exist without reading the
Makefile.

Testing

  • Tested locally
  • Added/updated tests
  • Added/updated docs

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 18, 2026
Comment thread BUILDING.md
| `make install` | Builds an installer package and installs it to `/usr/local`. |
| `make clean` | Removes `bin/`, `libexec/`, generated docs, and coverage output. |

`make integration` runs the `container` CLI from `bin/`, so build the binaries with `make all` first, either as a separate command or in the same invocation as shown above.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we modify the makefile to make this dependency explicit in the targets?

Comment thread BUILDING.md

How `make integration` treats `APP_ROOT`:
- It erases the directory's contents before each run.
- If you leave `APP_ROOT` unset, the integration tests run against your default data directory. They will not erase it, but they will create and delete containers in it. Always set `APP_ROOT` when running the integration tests.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can omit "Always set APP_ROOT when running the integration tests." as we might want to ensure "real-ish" behavior sometimes, like for qualification. Or should we have APP_ROOT default to an in-repo tmp like folder?

Comment thread BUILDING.md
Comment on lines +102 to +110
./bin/container system stop
container system stop
scripts/ensure-container-stopped.sh -a

# 2. Remove build outputs
make clean

# 3. Remove the scratch app root
rm -rf test-data

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we make a make target for this to simplify the UX? If we have a default APP_ROOT for make then we could potentially make it one simple target

@github-actions

Copy link
Copy Markdown

Code Coverage

Tier Line Coverage
Unit 24.89%
Integration 66.67%
Combined 76.1%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: BUILDING.md does not explain the test targets, APP_ROOT, or the effects of running the integration tests

2 participants