Skip to content

test(runtime): prove synthetic Discord no-op observation #213

test(runtime): prove synthetic Discord no-op observation

test(runtime): prove synthetic Discord no-op observation #213

Workflow file for this run

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