Files
1b-agent fff19a9e17 feat: stateless hot-reload Odoo 19 dev workspace for onebspace
- Dockerfile: verbatim upstream odoo/docker 19.0 + pip install requirements.txt
- easypanel.schema.json: source.type=dockerfile with inline Dockerfile
- deploy.py: calls Easypanel tRPC API directly (bypass MCP that only supports image)
- .gitea/workflows/build.yml: optional Gitea Actions CI
- README.md: full research + reproduction steps
2026-08-30 18:55:00 +00:00

54 lines
1.7 KiB
YAML

# =============================================================================
# stateless-container-for-onebspace-development — Gitea Actions workflow
#
# Builds the os-dev image on every push to 1b-agent/os-dev's 19.0 branch and
# pushes to the local Gitea Container Registry. Same syntax as GitHub Actions;
# Gitea Actions is API-compatible.
#
# Tags produced:
# agents-apps-and-tools-gitea.nxldoy.easypanel.host/1b-agent/os-dev:19.0
#
# The registry lives at the non-git hostname (where the Let\'s Encrypt cert
# matches *.nxldoy.easypanel.host). The git.* hostname is for the git/web UI.
#
# NOTE: This workflow is OPTIONAL for the Easypanel source.type=dockerfile
# approach (Easypanel builds the image in-place). It\'s useful if you also
# want a Gitea Container Registry copy for other consumers.
# =============================================================================
name: Build and push os-dev image
on:
push:
branches: [19.0]
workflow_dispatch:
env:
REGISTRY: agents-apps-and-tools-gitea.nxldoy.easypanel.host
IMAGE_NAME: ${{ gitea.repository }}
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ gitea.actor }}
password: ${{ secrets.GITEA_REGISTRY_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:19.0
provenance: false