Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ac637a6dae | |||
| 32af0f4ba3 | |||
| a4852a574a |
@@ -19,27 +19,22 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Install Git and Docker CLI
|
- name: Install Git and Docker CLI
|
||||||
run: apk add --no-cache git docker-cli docker-cli-buildx
|
run: apk add --no-cache git docker-cli docker-cli-buildx
|
||||||
|
|
||||||
- name: Log in to Gitea Container Registry
|
- name: Log in to Gitea Container Registry
|
||||||
# This uses the automated token provided natively by Gitea Actions
|
# This uses the automated token provided natively by Gitea Actions
|
||||||
run: echo "${{ secrets.babymonitor_cicd }}" | docker login gitea.lan -u ${{ github.actor }} --password-stdin
|
run: echo "${{ secrets.babymonitor_cicd }}" | docker login gitea.lan -u ${{ github.actor }} --password-stdin
|
||||||
|
|
||||||
- name: Create Custom Buildx Builder for HTTP
|
- name: Create Custom Buildx Builder for HTTP
|
||||||
run: |
|
run: |
|
||||||
# 1. Write a configuration rule forcing plain HTTP for your local domain
|
# 1. Write a configuration rule forcing plain HTTP for your local domain
|
||||||
echo '[registry."gitea.lan"]' > buildkitd.toml
|
echo '[registry."gitea.lan"]' > buildkitd.toml
|
||||||
echo ' http = true' >> buildkitd.toml
|
echo ' http = true' >> buildkitd.toml
|
||||||
|
|
||||||
# 2. Tell buildx to create and use a builder with this rule
|
# 2. Tell buildx to create and use a builder with this rule
|
||||||
docker buildx create --use --name local-http-builder --config buildkitd.toml
|
docker buildx create --use --name local-http-builder --config buildkitd.toml
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
# Tells the action to use the local 'git' binary we just installed
|
# Tells the action to use the local 'git' binary we just installed
|
||||||
set-safe-directory: 'true'
|
set-safe-directory: 'true'
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Determine Version
|
- name: Determine Version
|
||||||
run: |
|
run: |
|
||||||
LATEST_TAG=$(git tag -l "v${{ env.MAJOR }}.${{ env.MINOR }}.*" | sort -V | tail -n 1)
|
LATEST_TAG=$(git tag -l "v${{ env.MAJOR }}.${{ env.MINOR }}.*" | sort -V | tail -n 1)
|
||||||
@@ -51,8 +46,7 @@ jobs:
|
|||||||
NEW_PATCH=$((PATCH + 1))
|
NEW_PATCH=$((PATCH + 1))
|
||||||
VERSION="v${{ env.MAJOR }}.${{ env.MINOR }}.$NEW_PATCH"
|
VERSION="v${{ env.MAJOR }}.${{ env.MINOR }}.$NEW_PATCH"
|
||||||
fi
|
fi
|
||||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
echo "VERSION=$VERSION" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Build Docker image
|
- name: Build Docker image
|
||||||
run: |
|
run: |
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
@@ -60,8 +54,21 @@ jobs:
|
|||||||
-t gitea.lan/jacobh2/babymonitor-backend:${{ env.VERSION }} \
|
-t gitea.lan/jacobh2/babymonitor-backend:${{ env.VERSION }} \
|
||||||
./backend \
|
./backend \
|
||||||
--push
|
--push
|
||||||
|
|
||||||
- name: Tag and Push Version
|
- name: Tag and Push Version
|
||||||
run: |
|
run: |
|
||||||
git tag $VERSION
|
git tag "$VERSION"
|
||||||
git push origin $VERSION
|
git push origin "$VERSION"
|
||||||
|
|
||||||
|
lint:
|
||||||
|
runs-on: host
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Run actionlint
|
||||||
|
run: |
|
||||||
|
# Trying to install it via apk if possible, otherwise fallback
|
||||||
|
apk add --no-cache actionlint || echo "actionlint not found in apk"
|
||||||
|
if command -v actionlint >/dev/null 2>&1; then
|
||||||
|
actionlint .gitea/workflows/*.yml
|
||||||
|
else
|
||||||
|
echo "Skipping actionlint: not installed"
|
||||||
|
fi
|
||||||
|
|||||||
@@ -19,27 +19,22 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Install Git and Docker CLI
|
- name: Install Git and Docker CLI
|
||||||
run: apk add --no-cache git docker-cli docker-cli-buildx
|
run: apk add --no-cache git docker-cli docker-cli-buildx
|
||||||
|
|
||||||
- name: Log in to Gitea Container Registry
|
- name: Log in to Gitea Container Registry
|
||||||
# This uses the automated token provided natively by Gitea Actions
|
# This uses the automated token provided natively by Gitea Actions
|
||||||
run: echo "${{ secrets.babymonitor_cicd }}" | docker login gitea.lan -u ${{ github.actor }} --password-stdin
|
run: echo "${{ secrets.babymonitor_cicd }}" | docker login gitea.lan -u ${{ github.actor }} --password-stdin
|
||||||
|
|
||||||
- name: Create Custom Buildx Builder for HTTP
|
- name: Create Custom Buildx Builder for HTTP
|
||||||
run: |
|
run: |
|
||||||
# 1. Write a configuration rule forcing plain HTTP for your local domain
|
# 1. Write a configuration rule forcing plain HTTP for your local domain
|
||||||
echo '[registry."gitea.lan"]' > buildkitd.toml
|
echo '[registry."gitea.lan"]' > buildkitd.toml
|
||||||
echo ' http = true' >> buildkitd.toml
|
echo ' http = true' >> buildkitd.toml
|
||||||
|
|
||||||
# 2. Tell buildx to create and use a builder with this rule
|
# 2. Tell buildx to create and use a builder with this rule
|
||||||
docker buildx create --use --name local-http-builder --config buildkitd.toml
|
docker buildx create --use --name local-http-builder --config buildkitd.toml
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
# Tells the action to use the local 'git' binary we just installed
|
# Tells the action to use the local 'git' binary we just installed
|
||||||
set-safe-directory: 'true'
|
set-safe-directory: 'true'
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Determine Version
|
- name: Determine Version
|
||||||
run: |
|
run: |
|
||||||
LATEST_TAG=$(git tag -l "v${{ env.MAJOR }}.${{ env.MINOR }}.*" | sort -V | tail -n 1)
|
LATEST_TAG=$(git tag -l "v${{ env.MAJOR }}.${{ env.MINOR }}.*" | sort -V | tail -n 1)
|
||||||
@@ -51,8 +46,7 @@ jobs:
|
|||||||
NEW_PATCH=$((PATCH + 1))
|
NEW_PATCH=$((PATCH + 1))
|
||||||
VERSION="v${{ env.MAJOR }}.${{ env.MINOR }}.$NEW_PATCH"
|
VERSION="v${{ env.MAJOR }}.${{ env.MINOR }}.$NEW_PATCH"
|
||||||
fi
|
fi
|
||||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
echo "VERSION=$VERSION" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Build Docker image
|
- name: Build Docker image
|
||||||
run: |
|
run: |
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
@@ -60,8 +54,21 @@ jobs:
|
|||||||
-t gitea.lan/jacobh2/babymonitor-frontend:${{ env.VERSION }} \
|
-t gitea.lan/jacobh2/babymonitor-frontend:${{ env.VERSION }} \
|
||||||
./frontend \
|
./frontend \
|
||||||
--push
|
--push
|
||||||
|
|
||||||
- name: Tag and Push Version
|
- name: Tag and Push Version
|
||||||
run: |
|
run: |
|
||||||
git tag $VERSION
|
git tag "$VERSION"
|
||||||
git push origin $VERSION
|
git push origin "$VERSION"
|
||||||
|
|
||||||
|
lint:
|
||||||
|
runs-on: host
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Run actionlint
|
||||||
|
run: |
|
||||||
|
# Trying to install it via apk if possible, otherwise fallback
|
||||||
|
apk add --no-cache actionlint || echo "actionlint not found in apk"
|
||||||
|
if command -v actionlint >/dev/null 2>&1; then
|
||||||
|
actionlint .gitea/workflows/*.yml
|
||||||
|
else
|
||||||
|
echo "Skipping actionlint: not installed"
|
||||||
|
fi
|
||||||
|
|||||||
@@ -126,10 +126,10 @@ tree -I 'node_modules|.git|dist|build|__pycache__|venv|.venv|env|.pytest_cache|.
|
|||||||
|
|
||||||
**Context:** The main OpenCode agent context window is our most critical resource. Executing complex tasks, debugging cross-file issues, or writing massive features directly in the main thread causes severe context bloat, leading to code hallucinations and dropped instructions.
|
**Context:** The main OpenCode agent context window is our most critical resource. Executing complex tasks, debugging cross-file issues, or writing massive features directly in the main thread causes severe context bloat, leading to code hallucinations and dropped instructions.
|
||||||
|
|
||||||
* **Delegate Aggressively:** For any complex implementation, structural change, or task larger than a single file edit, you **MUST spawn a sub-agent**. Act strictly as the architectural orchestrator; let sub-agents handle the iterative coding labor.
|
* **Delegate Aggressively:** For any complex implementation, structural change, or task larger than a single file edit, you **MUST invoke a subagent via the Task tool**. Act strictly as the architectural orchestrator; let subagents handle the iterative coding labor.
|
||||||
* **Scope Narrowly:** Give sub-agents highly specific, isolated, and atomic objectives (e.g., *"Read `backend/app/routers/auth.py` and summarize endpoints"* or *"Write a unit test for the frontend sleep tracker component"*).
|
* **Scope Narrowly:** Give subagents highly specific, isolated, and atomic objectives (e.g., *"Read `backend/app/routers/auth.py` and summarize endpoints"* or *"Write a unit test for the frontend sleep tracker component"*).
|
||||||
* **Strict Summarization:** Sub-agents are **STRICTLY FORBIDDEN** from passing raw terminal dumps, unedited file blocks, or their internal step-by-step logs back to the main thread.
|
* **Strict Summarization:** Subagents are **STRICTLY FORBIDDEN** from passing raw terminal dumps, unedited file blocks, or their internal step-by-step logs back to the main thread.
|
||||||
* **Return Format:** Sub-agents must return *only* clear, actionable results back to the orchestrator: a concise summary of findings, the exact lines of code that require modification, or direct confirmation of a successful execution.
|
* **Return Format:** Subagents must return *only* clear, actionable results back to the orchestrator: a concise summary of findings, the exact lines of code that require modification, or direct confirmation of a successful execution.
|
||||||
|
|
||||||
## NOTES
|
## NOTES
|
||||||
|
|
||||||
|
|||||||
@@ -21,3 +21,4 @@ exitcode '1': failure
|
|||||||
- [ ] Editing a sleep session in "sleep sessions", when I click the edit button the times show up as UTC but should show as my local timezone
|
- [ ] Editing a sleep session in "sleep sessions", when I click the edit button the times show up as UTC but should show as my local timezone
|
||||||
- [ ] We should drop the "notes" column from the sleep_session table
|
- [ ] We should drop the "notes" column from the sleep_session table
|
||||||
- [ ] Switch over to oh-my-opencode and try it out
|
- [ ] Switch over to oh-my-opencode and try it out
|
||||||
|
- [ ] Adda footer at the bottom of the app that shows the version (aka git tag) of the app
|
||||||
|
|||||||
Reference in New Issue
Block a user