Some checks are pending
CI / docs-scope (push) Waiting to run
CI / changed-scope (push) Blocked by required conditions
CI / build-artifacts (push) Blocked by required conditions
CI / release-check (push) Blocked by required conditions
CI / checks (pnpm canvas:a2ui:bundle && bunx vitest run --config vitest.unit.config.ts, bun, test) (push) Blocked by required conditions
CI / checks (pnpm canvas:a2ui:bundle && pnpm test, node, 2, 1, test) (push) Blocked by required conditions
CI / checks (pnpm canvas:a2ui:bundle && pnpm test, node, 2, 2, test) (push) Blocked by required conditions
CI / checks (pnpm protocol:check, node, protocol) (push) Blocked by required conditions
CI / checks (pnpm test:channels, node, channels) (push) Blocked by required conditions
CI / checks (pnpm test:extensions, node, extensions) (push) Blocked by required conditions
CI / check (push) Blocked by required conditions
CI / startup-memory (push) Blocked by required conditions
CI / check-docs (push) Blocked by required conditions
CI / compat-node22 (push) Blocked by required conditions
CI / skills-python (push) Blocked by required conditions
CI / secrets (push) Waiting to run
CI / checks-windows (pnpm test, node, 6, 1, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 6, 2, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 6, 3, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 6, 4, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 6, 5, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 6, 6, test) (push) Blocked by required conditions
CI / macos (push) Blocked by required conditions
CI / ios (push) Waiting to run
CI / android (./gradlew --no-daemon :app:assembleDebug, build) (push) Blocked by required conditions
CI / android (./gradlew --no-daemon :app:testDebugUnitTest, test) (push) Blocked by required conditions
Docker Release / validate_manual_backfill (push) Waiting to run
Docker Release / approve_manual_backfill (push) Blocked by required conditions
Docker Release / build-amd64 (push) Blocked by required conditions
Docker Release / build-arm64 (push) Blocked by required conditions
Docker Release / create-manifest (push) Blocked by required conditions
Install Smoke / docs-scope (push) Waiting to run
Install Smoke / install-smoke (push) Blocked by required conditions
Sandbox Common Smoke / sandbox-common-smoke (push) Waiting to run
Workflow Sanity / no-tabs (push) Waiting to run
Workflow Sanity / actionlint (push) Waiting to run
Workflow Sanity / config-docs-drift (push) Waiting to run
116 lines
3.9 KiB
YAML
116 lines
3.9 KiB
YAML
name: Install Smoke
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: install-smoke-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
env:
|
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
|
|
|
|
jobs:
|
|
docs-scope:
|
|
runs-on: blacksmith-16vcpu-ubuntu-2404
|
|
outputs:
|
|
docs_only: ${{ steps.check.outputs.docs_only }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 1
|
|
fetch-tags: false
|
|
|
|
- name: Ensure docs-scope base commit
|
|
uses: ./.github/actions/ensure-base-commit
|
|
with:
|
|
base-sha: ${{ github.event_name == 'push' && github.event.before || github.event.pull_request.base.sha }}
|
|
fetch-ref: ${{ github.event_name == 'push' && github.ref_name || github.event.pull_request.base.ref }}
|
|
|
|
- name: Detect docs-only changes
|
|
id: check
|
|
uses: ./.github/actions/detect-docs-changes
|
|
|
|
install-smoke:
|
|
needs: [docs-scope]
|
|
if: needs.docs-scope.outputs.docs_only != 'true'
|
|
runs-on: blacksmith-16vcpu-ubuntu-2404
|
|
steps:
|
|
- name: Checkout CLI
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Set up Docker Builder
|
|
uses: docker/setup-buildx-action@v4
|
|
|
|
# Blacksmith can fall back to the local docker driver, which rejects gha
|
|
# cache export/import. Keep smoke builds driver-agnostic.
|
|
- name: Build root Dockerfile smoke image
|
|
uses: useblacksmith/build-push-action@v2
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile
|
|
tags: openclaw-dockerfile-smoke:local
|
|
load: true
|
|
push: false
|
|
provenance: false
|
|
|
|
- name: Run root Dockerfile CLI smoke
|
|
run: |
|
|
docker run --rm --entrypoint sh openclaw-dockerfile-smoke:local -lc 'which openclaw && openclaw --version'
|
|
|
|
# This smoke only validates that the build-arg path preinstalls selected
|
|
# extension deps without breaking image build or basic CLI startup. It
|
|
# does not exercise runtime loading/registration of diagnostics-otel.
|
|
- name: Build extension Dockerfile smoke image
|
|
uses: useblacksmith/build-push-action@v2
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile
|
|
build-args: |
|
|
OPENCLAW_EXTENSIONS=diagnostics-otel
|
|
tags: openclaw-ext-smoke:local
|
|
load: true
|
|
push: false
|
|
provenance: false
|
|
|
|
- name: Smoke test Dockerfile with extension build arg
|
|
run: |
|
|
docker run --rm --entrypoint sh openclaw-ext-smoke:local -lc 'which openclaw && openclaw --version'
|
|
|
|
- name: Build installer smoke image
|
|
uses: useblacksmith/build-push-action@v2
|
|
with:
|
|
context: ./scripts/docker
|
|
file: ./scripts/docker/install-sh-smoke/Dockerfile
|
|
tags: openclaw-install-smoke:local
|
|
load: true
|
|
push: false
|
|
provenance: false
|
|
|
|
- name: Build installer non-root image
|
|
if: github.event_name != 'pull_request'
|
|
uses: useblacksmith/build-push-action@v2
|
|
with:
|
|
context: ./scripts/docker
|
|
file: ./scripts/docker/install-sh-nonroot/Dockerfile
|
|
tags: openclaw-install-nonroot:local
|
|
load: true
|
|
push: false
|
|
provenance: false
|
|
|
|
- name: Run installer docker tests
|
|
env:
|
|
CLAWDBOT_INSTALL_URL: https://openclaw.ai/install.sh
|
|
CLAWDBOT_INSTALL_CLI_URL: https://openclaw.ai/install-cli.sh
|
|
CLAWDBOT_NO_ONBOARD: "1"
|
|
CLAWDBOT_INSTALL_SMOKE_SKIP_CLI: "1"
|
|
CLAWDBOT_INSTALL_SMOKE_SKIP_IMAGE_BUILD: "1"
|
|
CLAWDBOT_INSTALL_NONROOT_SKIP_IMAGE_BUILD: ${{ github.event_name == 'pull_request' && '0' || '1' }}
|
|
CLAWDBOT_INSTALL_SMOKE_SKIP_NONROOT: ${{ github.event_name == 'pull_request' && '1' || '0' }}
|
|
CLAWDBOT_INSTALL_SMOKE_SKIP_PREVIOUS: "1"
|
|
run: bash scripts/test-install-sh-docker.sh
|