惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
博客园 - 【当耐特】
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
IT之家
IT之家
T
Tailwind CSS Blog
博客园 - 聂微东
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
博客园 - 司徒正美
爱范儿
爱范儿
I
InfoQ
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
G
Google Developers Blog
D
Docker
C
Check Point Blog
B
Blog

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
ci: skip existing docker e2e images · openclaw/openclaw@1...
steipete · 2026-04-27 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -768,12 +768,44 @@ jobs:

768768

username: ${{ github.actor }}

769769

password: ${{ github.token }}

770770
771-

- name: Setup Docker builder

771+

- name: Check existing shared Docker E2E images

772+

id: image_exists

772773

if: steps.plan.outputs.needs_e2e_image == '1'

774+

shell: bash

775+

run: |

776+

set -euo pipefail

777+

bare_exists=0

778+

functional_exists=0

779+

needs_build=0

780+
781+

if [[ "${{ steps.plan.outputs.needs_bare_image }}" == "1" ]]; then

782+

if docker manifest inspect "${{ steps.image.outputs.bare_image }}" >/dev/null 2>&1; then

783+

bare_exists=1

784+

echo "Shared Docker E2E bare image already exists: ${{ steps.image.outputs.bare_image }}"

785+

else

786+

needs_build=1

787+

fi

788+

fi

789+
790+

if [[ "${{ steps.plan.outputs.needs_functional_image }}" == "1" ]]; then

791+

if docker manifest inspect "${{ steps.image.outputs.functional_image }}" >/dev/null 2>&1; then

792+

functional_exists=1

793+

echo "Shared Docker E2E functional image already exists: ${{ steps.image.outputs.functional_image }}"

794+

else

795+

needs_build=1

796+

fi

797+

fi

798+
799+

echo "bare_exists=$bare_exists" >> "$GITHUB_OUTPUT"

800+

echo "functional_exists=$functional_exists" >> "$GITHUB_OUTPUT"

801+

echo "needs_build=$needs_build" >> "$GITHUB_OUTPUT"

802+
803+

- name: Setup Docker builder

804+

if: steps.image_exists.outputs.needs_build == '1'

773805

uses: useblacksmith/setup-docker-builder@ac083cc84672d01c60d5e8561d0a939b697de542 # v1

774806
775807

- name: Build and push bare Docker E2E image

776-

if: steps.plan.outputs.needs_bare_image == '1'

808+

if: steps.plan.outputs.needs_bare_image == '1' && steps.image_exists.outputs.bare_exists != '1'

777809

uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0

778810

with:

779811

context: .

@@ -788,7 +820,7 @@ jobs:

788820

push: true

789821
790822

- name: Build and push functional Docker E2E image

791-

if: steps.plan.outputs.needs_functional_image == '1'

823+

if: steps.plan.outputs.needs_functional_image == '1' && steps.image_exists.outputs.functional_exists != '1'

792824

uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0

793825

with:

794826

context: .