Skip to content

Conversation

@lucatume
Copy link

This PR only adds a specification file defining the expected code behavior and API.
The specification file is the place where examples of the desired flow, APIs and outcomes are collected.
I'm welcoming feedback to sync on the specification before implementing anything.

@lucatume lucatume self-assigned this Jan 27, 2026
Copy link
Member

@bordoni bordoni left a comment

Choose a reason for hiding this comment

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

I like where this is headed, potentially lets talk about avoiding non ZIP plugins/themes for now. Let packaging be something the plugin handles.

It prevents complexity from landing on TestFlow.

spec-take-2.md Outdated
Comment on lines 271 to 286
## Plugin/Theme Build Process

When a repository is cloned, TestFlow executes the following build steps:

### Standard Build Steps
1. **Initialize git submodules** recursively
2. **If `package.json` exists**: Run `nvm use && npm ci && npm run build`
3. **If `composer.json` exists**: Run `composer install --no-dev --quiet`

If any build step fails, TestFlow exits immediately with an error.

### Special Case: `common` Directory
Some repositories (e.g., `the-events-calendar/the-events-calendar`, `the-events-calendar/event-tickets`) contain a `common` directory with shared code. If present:
1. Initialize submodules recursively within `common`
2. If `common/package.json` exists: Run `nvm use && npm ci && npm run build` in `common`
3. If `common/composer.json` exists: Run `composer install --no-dev --quiet` in `common`
Copy link
Member

Choose a reason for hiding this comment

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

I would completely skip this step for a initial MVP.
Work only with fully formed ZIPs.

spec-take-2.md Outdated
See the `testflow.json` example structure above for full format details.

### Source Types
- **String**: GitHub repository reference (clone)
Copy link
Member

Choose a reason for hiding this comment

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

I would rather see a WordPress source than a GitHub Repo.

For github repos, only if it looked for Released ZIPs.

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.

3 participants