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

推荐订阅源

WordPress大学
WordPress大学
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
V
Visual Studio Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
量子位
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
M
MIT News - Artificial intelligence
爱范儿
爱范儿
B
Blog RSS Feed
MyScale Blog
MyScale Blog
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
L
LangChain Blog
D
Docker

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: shard release validation reruns · openclaw/openclaw@3...
steipete · 2026-04-28 · via Recent Commits to openclaw:main

@@ -450,9 +450,18 @@ jobs:

450450

- chunk_id: plugins-runtime-install-b

451451

label: plugins/runtime install B

452452

timeout_minutes: 180

453-

- chunk_id: bundled-channels

454-

label: bundled channels

455-

timeout_minutes: 180

453+

- chunk_id: bundled-channels-core

454+

label: bundled channels core

455+

timeout_minutes: 90

456+

- chunk_id: bundled-channels-update-a

457+

label: bundled channels update A

458+

timeout_minutes: 90

459+

- chunk_id: bundled-channels-update-b

460+

label: bundled channels update B

461+

timeout_minutes: 90

462+

- chunk_id: bundled-channels-contracts

463+

label: bundled channels contracts

464+

timeout_minutes: 90

456465

env:

457466

OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

458467

OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}

@@ -629,12 +638,43 @@ jobs:

629638

path: .artifacts/docker-tests/

630639

if-no-files-found: ignore

631640641+

plan_docker_lane_groups:

642+

needs: validate_selected_ref

643+

if: inputs.docker_lanes != ''

644+

runs-on: ubuntu-24.04

645+

timeout-minutes: 5

646+

outputs:

647+

groups_json: ${{ steps.plan.outputs.groups_json }}

648+

steps:

649+

- name: Plan targeted Docker lane groups

650+

id: plan

651+

shell: bash

652+

env:

653+

LANES: ${{ inputs.docker_lanes }}

654+

run: |

655+

set -euo pipefail

656+

groups_json="$(

657+

LANES="$LANES" node <<'NODE'

658+

const lanes = [...new Set(String(process.env.LANES || "").split(/[,\s]+/u).map((lane) => lane.trim()).filter(Boolean))];

659+

if (lanes.length === 0) {

660+

throw new Error("docker_lanes is required when planning targeted Docker lane groups.");

661+

}

662+

const sanitize = (lane) => lane.replace(/[^A-Za-z0-9._-]+/g, "-").replace(/^-+|-+$/g, "") || "targeted";

663+

process.stdout.write(JSON.stringify(lanes.map((lane) => ({ label: sanitize(lane), docker_lanes: lane }))));

664+

NODE

665+

)"

666+

echo "groups_json=${groups_json}" >> "$GITHUB_OUTPUT"

667+632668

validate_docker_lanes:

633-

needs: [validate_selected_ref, prepare_docker_e2e_image]

669+

needs: [validate_selected_ref, prepare_docker_e2e_image, plan_docker_lane_groups]

634670

if: inputs.docker_lanes != ''

635-

name: Docker E2E targeted lanes

671+

name: Docker E2E targeted lanes (${{ matrix.group.label }})

636672

runs-on: blacksmith-32vcpu-ubuntu-2404

637673

timeout-minutes: 180

674+

strategy:

675+

fail-fast: false

676+

matrix:

677+

group: ${{ fromJson(needs.plan_docker_lane_groups.outputs.groups_json) }}

638678

env:

639679

OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

640680

OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}

@@ -688,7 +728,7 @@ jobs:

688728

OPENCLAW_CURRENT_PACKAGE_TGZ: .artifacts/docker-e2e-package/openclaw-current.tgz

689729

OPENCLAW_SKIP_DOCKER_BUILD: "1"

690730

INCLUDE_OPENWEBUI: ${{ inputs.include_openwebui }}

691-

DOCKER_E2E_LANES: ${{ inputs.docker_lanes }}

731+

DOCKER_E2E_LANES: ${{ matrix.group.docker_lanes }}

692732

steps:

693733

- name: Checkout selected ref

694734

uses: actions/checkout@v6

@@ -733,6 +773,8 @@ jobs:

733773

plan_path=".artifacts/docker-tests/targeted-plan.json"

734774

node scripts/test-docker-all.mjs --plan-json > "$plan_path"

735775

node scripts/docker-e2e.mjs github-outputs "$plan_path" >> "$GITHUB_OUTPUT"

776+

suffix="$(printf '%s' "$LANES" | tr ',[:space:]' '-' | tr -cd 'A-Za-z0-9._-' | sed -E 's/-+/-/g; s/^-//; s/-$//')"

777+

echo "artifact_suffix=${suffix:-targeted}" >> "$GITHUB_OUTPUT"

736778

echo "plan_json=$plan_path" >> "$GITHUB_OUTPUT"

737779738780

- name: Download OpenClaw Docker E2E package

@@ -782,8 +824,8 @@ jobs:

782824

export OPENCLAW_DOCKER_ALL_PREFLIGHT=0

783825

export OPENCLAW_DOCKER_ALL_FAIL_FAST=0

784826

export OPENCLAW_DOCKER_ALL_INCLUDE_OPENWEBUI="${INCLUDE_OPENWEBUI}"

785-

export OPENCLAW_DOCKER_ALL_LOG_DIR=".artifacts/docker-tests/targeted"

786-

export OPENCLAW_DOCKER_ALL_TIMINGS_FILE=".artifacts/docker-tests/targeted-timings.json"

827+

export OPENCLAW_DOCKER_ALL_LOG_DIR=".artifacts/docker-tests/targeted-${{ steps.plan.outputs.artifact_suffix }}"

828+

export OPENCLAW_DOCKER_ALL_TIMINGS_FILE=".artifacts/docker-tests/targeted-${{ steps.plan.outputs.artifact_suffix }}-timings.json"

787829

export OPENCLAW_DOCKER_ALL_PNPM_COMMAND="$(command -v pnpm)"

788830

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

789831

pnpm test:docker:live-build

@@ -797,7 +839,7 @@ jobs:

797839

shell: bash

798840

run: |

799841

set -euo pipefail

800-

summary=".artifacts/docker-tests/targeted/summary.json"

842+

summary=".artifacts/docker-tests/targeted-${{ steps.plan.outputs.artifact_suffix }}/summary.json"

801843

if [[ ! -f "$summary" ]]; then

802844

echo "Docker targeted summary missing: \`$summary\`" >> "$GITHUB_STEP_SUMMARY"

803845

exit 0

@@ -808,7 +850,7 @@ jobs:

808850

if: always()

809851

uses: actions/upload-artifact@v7

810852

with:

811-

name: docker-e2e-targeted

853+

name: docker-e2e-${{ steps.plan.outputs.artifact_suffix }}

812854

path: .artifacts/docker-tests/

813855

if-no-files-found: ignore

814856