name: Build Docker Images on: push: branches: [main] paths: - "sh/docker/**" schedule: # Daily: pick up new agent releases - cron: "0 6 * * *" workflow_dispatch: permissions: packages: write contents: read jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: agent: [claude, codex, cursor, openclaw, opencode, kilocode, hermes, junie] steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: sh/docker/${{ matrix.agent }}.Dockerfile push: true tags: ghcr.io/openrouterteam/spawn-${{ matrix.agent }}:latest