murashit_codex-panel/.github/workflows/check.yml

86 lines
2.7 KiB
YAML

name: Check
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
check:
name: npm run check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
persist-credentials: false
- name: Detect compatibility changes
id: compatibility
env:
BASE_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
HEAD_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
run: |
if git diff --quiet "$BASE_SHA" "$HEAD_SHA" -- \
.github/workflows/check.yml \
README.md \
manifest.json \
package.json \
package-lock.json \
scripts/api-baseline.mjs \
scripts/app-server-compatibility.mjs \
scripts/generate-app-server-types.mjs \
src/app-server/connection/compatibility.json \
src/generated/app-server \
versions.json; then
echo "required=false" >> "$GITHUB_OUTPUT"
else
echo "required=true" >> "$GITHUB_OUTPUT"
fi
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: 26
cache: npm
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Install recorded Codex CLI
if: steps.compatibility.outputs.required == 'true'
run: npm install --global "@openai/codex@$(node scripts/app-server-compatibility.mjs --tested-cli-version)"
- name: Check API baselines
if: steps.compatibility.outputs.required == 'true'
run: npm run api:baseline
- name: Check generated app-server bindings
if: steps.compatibility.outputs.required == 'true'
run: npm run generate:app-server-types:check
- name: Check pull request commit messages
if: github.event_name == 'pull_request'
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: npm run commitlint -- --from "$BASE_SHA" --to "$HEAD_SHA" --verbose
- name: Check pushed commit messages
if: github.event_name == 'push'
env:
BASE_SHA: ${{ github.event.before }}
HEAD_SHA: ${{ github.sha }}
run: npm run commitlint -- --from "$BASE_SHA" --to "$HEAD_SHA" --verbose
- name: Check release metadata
run: npm run release:check
- name: Check
run: npm run check