test #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |