Story: Project bootstrap
Table of Contents
This page documents a story in Sprint 01. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
By the end of this story, a contributor can clone the repo, build it locally, and see a green CI pipeline produce a downloadable package. This is the foundation every later story in v0 stands on.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 01 |
| Now | Story closed; all migrated tasks DONE. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2024-07-01 |
Acceptance
- A public GitHub repository exists for the project.
vcpkgandcmakeproduce a clean local build.- GitHub Actions run on every push, with at least one green pipeline.
- A built artefact is uploaded as a GitHub release/package.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Create GitHub repository | DONE | 2024-06-15 | 2024-06-15 | Create the OreStudio GitHub organisation and the initial OreStudio repository with vcpkg support. |
| Set up vcpkg and CMake | DONE | 2024-06-22 | 2024-06-22 | Configure a basic CMake build that resolves its dependencies through vcpkg. |
| Set up GitHub Actions | DONE | 2024-06-22 | 2024-06-22 | Add a basic GitHub Actions workflow that builds the project and surfaces results in CDash. |
Decisions
- Use vcpkg, not Conan
- chosen for its first-class CMake integration and the breadth of available ports.
- Use GitHub Actions, not a self-hosted runner
- lower operational cost for a side project; trade hosted concurrency limits for zero maintenance.
- Package as a GitHub release artefact
- avoids depending on an external package registry while the project's surface is still changing.
Out of scope
- Multi-platform CI (only Linux at this point — Windows and macOS come back to bite in Build stabilisation in sprint 02 and again in sprint 03).
- Code signing.
- Code quality gates beyond a green build — picked up by Build quality later in this same sprint.
See also
- CMake setup — the preset menu and output directory layout this story established.
- How do I configure the project? / How do I build the system? — recipes that exercise what this story put in place.
- ores.codegen — the first downstream consumer of the build (its generators run as part of the project build).