Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
4 changes: 2 additions & 2 deletions .github/actions/setup-submodule/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >

inputs:
deploy-key:
description: "SSH deploy key with read access to lobu-ai/owletto-web"
description: "SSH deploy key with read access to lobu-ai/owletto"
required: false
default: ""

Expand All @@ -29,7 +29,7 @@ runs:
shell: bash
run: |
set -euo pipefail
git config --global url."git@github.com:lobu-ai/owletto-web.git".insteadOf "https://github.com/lobu-ai/owletto-web.git"
git config --global url."git@github.com:lobu-ai/owletto.git".insteadOf "https://github.com/lobu-ai/owletto.git"
git submodule update --init --recursive packages/web

- name: Write stub package.json when submodule is unavailable
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ jobs:
files: coverage/lcov.info
fail_ci_if_error: false

# Frontend tests run under jsdom via vitest. owletto-web is a submodule;
# Frontend tests run under jsdom via vitest. owletto is a submodule;
# forks without the deploy key get a stub package and skip these.
frontend:
runs-on: ubuntu-latest
Expand All @@ -121,16 +121,16 @@ jobs:
if: steps.submodule.outputs.stubbed != 'true'
run: bun install

- name: Build core + connector-sdk (owletto-web imports their compiled dist)
- name: Build core + connector-sdk (owletto imports their compiled dist)
# connector-sdk imports @lobu/core; resolving the type-only barrel
# import needs core/dist on disk first.
if: steps.submodule.outputs.stubbed != 'true'
run: |
cd packages/core && bun run build && cd ../..
cd packages/connector-sdk && bun run build && cd ../..

- name: owletto-web tests (vitest)
# owletto-web doesn't define a `test` script in its package.json yet
- name: owletto tests (vitest)
# owletto doesn't define a `test` script in its package.json yet
# (that change ships as a separate submodule PR). Invoke vitest
# directly via the workspace-installed binary so this works on
# whatever submodule SHA the parent repo points at.
Expand Down
195 changes: 0 additions & 195 deletions .github/workflows/mac-release.yml

This file was deleted.

20 changes: 10 additions & 10 deletions .github/workflows/submodule-drift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
echo "::error::OWLETTO_WEB_DEPLOY_KEY is missing for a same-repo run; drift check cannot run."
exit 1

- name: Check for unmerged non-bot commits on owletto-web/main
- name: Check for unmerged non-bot commits on owletto/main
if: steps.submodule.outputs.stubbed != 'true'
shell: bash
run: |
Expand All @@ -77,18 +77,18 @@ jobs:
REMOTE=$(git -C packages/web rev-parse origin/main)

echo "Pinned (parent): $PINNED"
echo "owletto-web/main: $REMOTE"
echo "owletto/main: $REMOTE"

# Hard rule: parent must never pin a SHA that isn't on owletto-web/main.
# FluxCD reads charts from owletto-web/main; an off-main pin breaks deploy.
# Hard rule: parent must never pin a SHA that isn't on owletto/main.
# FluxCD reads charts from owletto/main; an off-main pin breaks deploy.
if ! git -C packages/web merge-base --is-ancestor "$PINNED" origin/main; then
echo "::error::Pinned SHA $PINNED is not reachable from owletto-web/main."
echo "::error::Pinned SHA $PINNED is not reachable from owletto/main."
echo "This violates the rule against pinning unmerged submodule SHAs (see AGENTS.md)."
exit 1
fi

if [ "$PINNED" = "$REMOTE" ]; then
echo "Submodule pin matches owletto-web/main — no drift."
echo "Submodule pin matches owletto/main — no drift."
exit 0
fi

Expand Down Expand Up @@ -119,14 +119,14 @@ jobs:
done <<< "$LOG"

if [ -z "$DRIFT" ]; then
echo "owletto-web/main is ahead, but only by FluxCD image-tag commits — no parent bump needed."
echo "owletto/main is ahead, but only by FluxCD image-tag commits — no parent bump needed."
exit 0
fi

echo "::error::owletto-web/main has merged commits past the pinned SHA. The parent bump PR is missing."
echo "::error::owletto/main has merged commits past the pinned SHA. The parent bump PR is missing."
echo ""
echo "Pinned: $PINNED"
echo "owletto-web/main: $REMOTE"
echo "owletto/main: $REMOTE"
echo ""
echo "Commits needing a parent bump:"
printf '%s' "$DRIFT"
Expand All @@ -135,5 +135,5 @@ jobs:
echo " git -C packages/web fetch origin"
echo " git -C packages/web checkout origin/main"
echo " git add packages/web"
echo " git commit -m 'chore(submodule): bump owletto-web to current main'"
echo " git commit -m 'chore(submodule): bump owletto to current main'"
exit 1
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "packages/web"]
path = packages/web
url = https://github.com/lobu-ai/owletto-web.git
url = https://github.com/lobu-ai/owletto.git
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
- When fixing unused-parameter errors, delete the parameter rather than prefixing with `_`.

### Submodules
`packages/web` is a submodule of `lobu-ai/owletto-web`. Push the submodule change to a reachable branch first (usually `main`), then bump the pointer in the parent — the parent must never point at an unreachable SHA, or production cloning will fail.
`packages/web` is a submodule of `lobu-ai/owletto`. Push the submodule change to a reachable branch first (usually `main`), then bump the pointer in the parent — the parent must never point at an unreachable SHA, or production cloning will fail.

### Frontend (web)
When editing UI under `packages/web`, follow the design rules in @packages/web/DESIGN_GUIDELINES.md — confirmations, surfaces, empty states, selection, forms, page copy, radius, Sheet vs Dialog. Match the existing components and exemplar files referenced there; do not introduce new primitives without updating the guideline in the same PR.
Expand Down
Loading
Loading