test(runtime): prove synthetic Discord no-op observation #213
Workflow file for this run
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: CI | |
| on: | |
| pull_request: | |
| branches: [main, develop] | |
| push: | |
| branches: [main, develop] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| repository-contracts: | |
| name: Repository contracts | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: Set up Go for lint tools | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25.x" | |
| cache: false | |
| - name: Install lint tools | |
| run: | | |
| python -m pip install --disable-pip-version-check yamllint | |
| sudo apt-get update | |
| sudo apt-get install -y shellcheck | |
| go install github.com/rhysd/actionlint/cmd/actionlint@v1.7.7 | |
| go install mvdan.cc/sh/v3/cmd/shfmt@v3.10.0 | |
| echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" | |
| - name: Check repository whitespace | |
| shell: bash | |
| env: | |
| BEFORE_SHA: ${{ github.event.before }} | |
| run: | | |
| set -euo pipefail | |
| if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then | |
| git diff --check "origin/${GITHUB_BASE_REF}...HEAD" | |
| elif [[ -n "${BEFORE_SHA}" && "${BEFORE_SHA}" != "0000000000000000000000000000000000000000" ]]; then | |
| git diff --check "${BEFORE_SHA}..HEAD" | |
| else | |
| empty_tree="$(git hash-object -t tree /dev/null)" | |
| git diff --check "${empty_tree}..HEAD" | |
| fi | |
| - name: Check shell syntax | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| find scripts docker -type f -name "*.sh" -print0 | sort -z | while IFS= read -r -d '' script; do | |
| echo "Checking ${script}" | |
| bash -n "${script}" | |
| done | |
| - name: Lint GitHub Actions workflows | |
| run: actionlint | |
| - name: Lint shell scripts | |
| run: find scripts docker -type f -name "*.sh" -print0 | sort -z | xargs -0 -r shellcheck | |
| - name: Check shell formatting | |
| run: shfmt -d -i 2 -ci scripts docker/openclaw/sync-skills.sh | |
| - name: Lint YAML | |
| run: yamllint . | |
| - name: Lint Markdown | |
| run: npx --yes markdownlint-cli2@0.18.1 "**/*.md" | |
| - name: Lint commit messages | |
| shell: bash | |
| env: | |
| BEFORE_SHA: ${{ github.event.before }} | |
| HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }} | |
| run: | | |
| set -euo pipefail | |
| commitlint=(npx --yes @commitlint/cli@19.8.1 --config .commitlintrc.json) | |
| if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then | |
| "${commitlint[@]}" --from "origin/${GITHUB_BASE_REF}" --to "${HEAD_SHA}" | |
| elif [[ -n "${BEFORE_SHA}" && "${BEFORE_SHA}" != "0000000000000000000000000000000000000000" ]]; then | |
| "${commitlint[@]}" --from "${BEFORE_SHA}" --to HEAD | |
| else | |
| "${commitlint[@]}" --last | |
| fi | |
| - name: Check repo-safe evidence hygiene | |
| run: bash scripts/validate-repo-safe-evidence.sh | |
| - name: Validate release promotion notes | |
| run: bash scripts/validate-release-promotion.sh | |
| safe-validation-suite: | |
| name: Safe validator suite | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25.x" | |
| cache: false | |
| - name: Install Engram CLI | |
| run: | | |
| go install github.com/Gentleman-Programming/engram/cmd/engram@v1.15.13 | |
| echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" | |
| - name: Show Engram version | |
| run: engram version | |
| - name: Run safe validator suite | |
| shell: bash | |
| env: | |
| SAFE_VALIDATION_SKIP_STAGE0: "1" | |
| run: bash scripts/run-safe-validation-suite.sh |