mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
8887267256
Signed-off-by: phernandez <paul@basicmachines.co>
76 lines
2.4 KiB
YAML
76 lines
2.4 KiB
YAML
name: Basic Memory Project Updates
|
|
|
|
"on":
|
|
pull_request:
|
|
types: [closed]
|
|
workflow_run:
|
|
workflows: ["Deploy Production"]
|
|
types: [completed]
|
|
|
|
jobs:
|
|
project-update:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
issues: read
|
|
actions: read
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Install Basic Memory from checkout
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -e .
|
|
|
|
- name: Collect project update context
|
|
id: collect
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
run: |
|
|
bm ci collect \
|
|
--config .github/basic-memory/config.yml \
|
|
--output .github/basic-memory/project-update-context.json
|
|
|
|
- name: Stop when event is not eligible
|
|
if: steps.collect.outputs.eligible != 'true'
|
|
run: |
|
|
echo "Auto BM skipped: ${{ steps.collect.outputs.skip_reason }}"
|
|
|
|
- name: Write Codex output schema
|
|
if: steps.collect.outputs.eligible == 'true'
|
|
run: |
|
|
bm ci agent-schema --output "${{ runner.temp }}/agent-synthesis.schema.json"
|
|
|
|
- name: Synthesize project update with Codex
|
|
if: steps.collect.outputs.eligible == 'true'
|
|
uses: openai/codex-action@v1
|
|
with:
|
|
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
|
|
prompt-file: .github/basic-memory/memory-ci-capture.md
|
|
output-file: ${{ runner.temp }}/agent-synthesis.json
|
|
output-schema-file: ${{ runner.temp }}/agent-synthesis.schema.json
|
|
sandbox: read-only
|
|
safety-strategy: drop-sudo
|
|
|
|
- name: Publish project update
|
|
if: steps.collect.outputs.eligible == 'true'
|
|
env:
|
|
BASIC_MEMORY_CLOUD_API_KEY: ${{ secrets.BASIC_MEMORY_API_KEY }}
|
|
BASIC_MEMORY_CI_CLOUD_HOST: ${{ vars.BASIC_MEMORY_CLOUD_HOST }}
|
|
run: |
|
|
if [ -n "$BASIC_MEMORY_CI_CLOUD_HOST" ]; then
|
|
export BASIC_MEMORY_CLOUD_HOST="$BASIC_MEMORY_CI_CLOUD_HOST"
|
|
fi
|
|
bm ci publish \
|
|
--cloud \
|
|
--config .github/basic-memory/config.yml \
|
|
--context .github/basic-memory/project-update-context.json \
|
|
--synthesis "${{ runner.temp }}/agent-synthesis.json"
|