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
11 changes: 9 additions & 2 deletions .github/workflows/bump-engine.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ jobs:
- name: Update TechEngine submodule to latest main
id: bump
run: |
# git-flow: the bump is integration work, so it lands on develop.
# main only moves through a release PR. Switch branch BEFORE touching
# the submodule so the change is staged on the branch it will be
# committed to.
git fetch origin develop
git checkout -B develop origin/develop
git submodule update --init --recursive TechEngine
git submodule update --remote --recursive TechEngine
if git diff --quiet -- TechEngine; then
echo "changed=false" >> "$GITHUB_OUTPUT"
Expand All @@ -51,8 +58,8 @@ jobs:
git config user.email "289859915+TechEngineBot@users.noreply.github.com"
git add TechEngine
git commit -m "chore: bump TechEngine submodule to ${NEW_SHA}"
git pull --rebase origin main
git push origin HEAD:main
git pull --rebase origin develop
git push origin HEAD:develop
echo "techapi_sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"

- name: Dispatch reciprocal TechAPI bump to TechEngine
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/validate-data.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
- "data/**"
- "app/validate.py"
push:
branches: [main]
branches: [main, develop]
paths:
- "data/**"
- "app/validate.py"
Expand Down
22 changes: 18 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,26 @@ python -m app.validate

The validator uses only the Python standard library; no install step required.

## Branching

This repo follows git-flow:

| Branch | Role |
| --- | --- |
| `main` | Released state. Publishing the site and notifying TechEngine both fire on a push here, so it only moves through a release PR. |
| `develop` | Integration. Every data, feature and fix branch targets this. |
| `feat/*`, `data/*`, `fix/*`, `chore/*` | Short-lived work branches, cut from `develop`. |

A release is a PR from `develop` to `main`; merging it deploys the site and tells
TechEngine to pick up the new data. Automation follows the same rule — the
submodule bump and the verified-promotion bot both land on `develop`.

## Contributing

Open a PR with the new/updated JSON file. The PR template walks through what to
include. The validator must pass. All records (`brand`, `soc`, `smartphone`,
`gpu`, and `cpu`) must include `source_urls` with at least one canonical
reference (vendor product page, Wikipedia infobox, datasheet).
Open a PR **against `develop`** with the new/updated JSON file. The PR template
walks through what to include. The validator must pass. All records (`brand`,
`soc`, `smartphone`, `gpu`, and `cpu`) must include `source_urls` with at least
one canonical reference (vendor product page, Wikipedia infobox, datasheet).

## License

Expand Down
Loading