| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(yrcli): support sandbox workflows through 443-only gateways Sandbox users may only have access to the Traefik 443 entrypoint, while older deployments can lack the newer frontend create route. Keep yrcli usable by deriving TLS from :443, simplifying the required client environment, preferring SDK sandbox creation, and falling back to the frontend API only when the SDK path is unsupported. The sandbox commands now generate default names safely, show list status with aligned columns, terminate detached sandboxes asynchronously with signal 1, and avoid the instance get path for named create flows. The frontend submodule pointer is advanced to the matching sandbox API/runtime fixes, while functionsystem remains on the upstream feature/sandbox head because its owner-route PR is no longer a proven prerequisite for this CLI/frontend change. Constraint: The live 124.70.166.142:443 cluster requires WSS for exec and should work with only YR_SERVER_ADDRESS, YR_JWT_TOKEN, and YR_INSECURE when needed. Constraint: Old clusters may not expose /api/sandbox/create, so yrcli must not depend on frontend-first create. Rejected: Frontend-first sandbox create | old deployments can be missing the route. Rejected: SDK-only sandbox create | updated frontend deployments should still be usable when SDK py310 is unavailable. Rejected: Synchronous sandbox delete | it can block the CLI while runtime teardown is still progressing. Rejected: Require the functionsystem owner-route patch in this PR | latest diagnostics did not reproduce the stale route failure on new sandbox create/delete. Confidence: medium Scope-risk: moderate Directive: Keep SDK create as the preferred path and only fallback to frontend API for explicit unsupported/not-found create errors. Tested: PYTHONPATH=/home/wyc/code/sandbox/.worktrees/yrcli-sandbox-443/api/python python3.10 -m pytest api/python/yr/tests/test_cli_scripts.py -q Tested: git diff --check Tested: yr.yaml cluster smoke create/list/delete via python3.10 -m yr.cli.scripts against 124.70.166.142:443 before squash Not-tested: Full repository build. Signed-off-by: yuchaow <wangyuchao12@huawei.com> | 1 个月前 | |
ci(buildkite): route linux arm builds and harden dependency downloads The default Buildkite queue now has native macOS arm64 agents, Linux amd64 Kubernetes controller jobs, and Linux arm64 Kubernetes controller jobs. Linux arm64 builds must therefore use a Linux-specific tag instead of arch=arm64, otherwise the native macOS agent can accept Kubernetes plugin jobs and fail while checking out plugins. This keeps the Linux arm64 lane on linux_arch=arm64, uses the same multi-arch compile image as amd64, removes the obsolete compile_arm override, and aligns the arm64 agent-stack values with the live controller tags. The arm64 controller uses an SWR-hosted Buildkite agent copy image based on the compile image so copy-agent startup does not depend on slow GHCR pulls from the ARM node. The runtime dependency downloader also treats cache checksum mismatch as a bad cache entry, removes the stale archive, and retries the source URL from openSource.txt. This prevents the openeuler cache copy of grpc-v1.65.4 from masking the OBS archive required by the checked-in checksum. The OBS upload step now installs esdk-obs-python through the same python3 interpreter used by upload_build_artifact.py and verifies the import before looping over artifacts. This avoids a split pip/python environment where pip appears to install successfully but python3 cannot import obs. Linux Buildkite steps now preserve diagnostic logs when make all fails. The job captures the live build log plus functionsystem/datasystem CMake, ExternalProject Stamp, and patch reject logs as Buildkite artifacts before returning the original failure code. The checked-in Helm values and CI chart notes now match the live agent-stack-k8s chart version and key names for both Linux amd64 and Linux arm64 controllers. The install docs use the OCI chart reference that the live releases use instead of the stale HTTP repo URL. Constraint: macOS arm64, Linux amd64, and Linux arm64 workers share queue=default. Constraint: The ARM CCE node timed out pulling ghcr.io/buildkite/agent:3.120.1 during the copy-agent init step. Constraint: The openeuler grpc-v1.65.4 cache archive has sha256 dd60131b74bd1ecb3ffd29a31a6d68d6bb009106bd22c4be140e40f5d2baf2f6, while tools/openSource.txt expects the OBS archive sha256 853b4ff0e1c3e1c4e19f8cc77bbab402981920997716003cea6db9970657f8c9. Constraint: Buildkite x86 job #243 compiled successfully but failed artifact mirroring because python3 tools/upload_build_artifact.py could not import obs. Constraint: Buildkite x86 job #245 failed in functionsystem/vendor/opentelemetry before OBS upload and the pod cleanup removed the internal opentelemetry build log. Constraint: Buildkite agent-stack-k8s 0.40.0 is installed from oci://ghcr.io/buildkite/helm/agent-stack-k8s, not the stale https://buildkite.github.io/agent-stack-k8s repo URL. Rejected: Add a separate Linux ARM queue | user requested tag-based routing instead of a new queue. Rejected: Use Docker Hub buildkite/agent on ARM | CCE routed it through an internal dockyard endpoint that returned 401 Unauthorized. Rejected: Change the grpc checksum to match the cache | the repo URL and checked-in checksum identify the OBS archive as the intended source. Rejected: Keep bare pip install with ignored failures | it can target a different interpreter and masks the real upload dependency error. Rejected: Rely on top-level Buildkite output for vendor failures | ExternalProject only prints the Stamp log path, and the pod can be removed before the log is inspected. Confidence: medium Scope-risk: moderate Reversibility: clean Directive: Any Buildkite step with the kubernetes plugin must exclude native macOS agents from its agent query. Directive: Do not trust third-party cache hits until their archive checksum matches openSource.txt. Directive: OBS upload dependencies must be installed and verified with the same python3 interpreter that runs tools/upload_build_artifact.py. Directive: Keep failure-log artifact upload before exiting failed Linux build jobs; otherwise vendor failures are not diagnosable after pod cleanup. Directive: Keep agent-stack-k8s values on chart 0.40.0-compatible top-level agentToken and hyphenated config keys unless the chart is upgraded and rendered again. Tested: bash -n .buildkite/pipeline.yml && bash -n .buildkite/pipeline.dynamic.yml && bash -n tools/download_opensource.sh Tested: ENABLE_LINUX_ARM=true ENABLE_MACOS_SDK=true bash .buildkite/pipeline.dynamic.yml generated x86, linux-arm64, and macOS routes without ARM_BUILDER_IMAGE or compile_arm. Tested: bash .buildkite/pipeline.dynamic.yml generated YAML parsed with PyYAML after the OBS python3 -m pip and failure-log artifact changes. Tested: helm template yuanrong-ci deploy/helm/yuanrong-ci Tested: helm template agent-stack-k8s and agent-stack-k8s-arm64 with oci://ghcr.io/buildkite/helm/agent-stack-k8s --version 0.40.0 Tested: git diff --check Tested: swr.cn-southwest-2.myhuaweicloud.com/yuanrong-dev/buildkite-agent:3.120.1-arm64-compilebase-v3 started on the ARM node and reported buildkite-agent version 3.120.1. Tested: helm upgrade --install agent-stack-k8s and agent-stack-k8s-arm64 rolled out in the CI cluster. Tested: grpc-only tools/download_opensource.sh run reproduced the openeuler checksum mismatch, retried the OBS source URL, and produced a decompressed grpc directory. Tested: Buildkite #242 passed x86, linux-arm64, and macOS SDK lanes. Tested: Buildkite #243 confirmed linux-arm64 and macOS SDK passed, and x86 build completed before OBS upload failed on missing obs module. Tested: Buildkite #246 passed x86, linux-arm64, and macOS SDK lanes; x86 and arm64 both reported OBS upload complete with 12 succeeded and 0 failed. Not-tested: Failure-log artifact upload branch did not execute in #246 because the build passed. Signed-off-by: yuchaow <wangyuchao12@huawei.com> | 2 个月前 | |
feat[all]: merge ant branch with sandbox, snapshot, and aio features Major changes: - Add sandbox functionality for function execution isolation - Add snapshot/snapstart support for checkpoint management - Add AIO (all-in-one) example with Docker deployment - Support loading environment variables from .env files - Add port forwarding functionality - Improve multi-language APIs (Python/Java/Go/C++) - Optimize build and deployment scripts - Update documentation and examples - Add submodules: datasystem, frontend, functionsystem Signed-off-by: songminhui <songminhui2@huawei.com> | 3 个月前 | |
ci(buildkite): stabilize macOS SDK and default linux arm64 lane This collapses the Buildkite and packaging follow-ups on top of the sandbox sync into one reviewable change. The resulting state keeps the macOS native-agent lane, adds the default Linux arm64 lane, switches flaky runtime third-party downloads to reachable OBS mirrors where needed, skips the unusable macOS runtime_deps cache, and updates the local trigger helper so fork-based retries can carry ENABLE_MACOS_SDK. Constraint: The active branch must stay based on upstream/feature/sandbox while the CI paths are stabilized for mixed macOS/amd64/arm64 agents Rejected: Preserve the iterative debug history | the user requested a squashed review branch and the intermediate retries do not add review value Confidence: high Scope-risk: moderate Reversibility: clean Directive: Keep future CI/debug follow-ups squashed onto the branch tip unless the user explicitly asks to preserve intermediate history Tested: bash -n .buildkite/pipeline.dynamic.yml; bash -n tools/download_opensource.sh; bash -n tools/download_dependency.sh; bash -n tools/trigger_build.sh; Buildkite trigger and agent-path validation across builds 208-227 Not-tested: A final green macOS/amd64/arm64 Buildkite run after this history rewrite Signed-off-by: yuchaow <wangyuchao12@huawei.com> | 2 个月前 | |
ci(buildkite): align rust fs with blackbox k8s smoke Keep the existing feature/sandbox Build X86 -> Build Image -> Test K8S path and gate Rust FunctionSystem replacement behind ENABLE_RUST_FUNCTIONSYSTEM_ST=true. Constraint: Default feature/sandbox behavior must remain unchanged unless ENABLE_RUST_FUNCTIONSYSTEM_ST is enabled Rejected: Keep the old PR history | it retained stale commit metadata unrelated to the final change Confidence: high Scope-risk: moderate Tested: bash -n .buildkite/pipeline.dynamic.yml && bash -n tools/trigger_build.sh Tested: bash .buildkite/pipeline.dynamic.yml renders default and ENABLE_RUST_FUNCTIONSYSTEM_ST=true pipelines Not-tested: Buildkite live pipeline execution Signed-off-by: luozhancheng <luozhancheng@huawei.com> | 1 个月前 | |
chore: consolidate early sandbox gate fixes Signed-off-by: mhsong2 <songminhui2@huawei.com> | 13 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 13 天前 |