Skip to content

chore: release packages #171

chore: release packages

chore: release packages #171

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
# Cancel an in-flight CI run if a newer commit lands on the same ref.
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
# Skip CI on PR sync events from the changesets/release-plz bot. Same
# rationale as graphrefly-rs/.github/workflows/ci.yml — see the long
# comment block there. In short: the bot's release PRs add only
# mechanical version bumps + changelog entries on top of code that was
# already tested by the push:main run that triggered the bot. The
# post-merge "chore: release packages" push will run CI again before
# changesets-action publishes.
jobs:
check:
if: "${{ (github.event_name != 'pull_request' || github.actor != 'graphrefly-write-content[bot]') && (github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: release')) }}"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: "24"
package-manager-cache: false
- name: Enable Corepack (pnpm)
run: |
corepack enable
corepack install
- run: pnpm install --frozen-lockfile
- run: pnpm test
# graphrefly-ts#4 — ongoing indicator that pure-ts stays
# compatible with the Hermes engine React Native ships. Fast:
# RN's pinned hermesc (npm, no build) + Node semantics. The
# on-device VM tier (apps/rn-hermes-fixture) runs periodically,
# not here. See scripts/hermes-smoke/README.md.
- name: RN/Hermes engine smoke
run: pnpm test:hermes
- run: pnpm run lint
- run: pnpm run build
- name: Docs + demos build
run: pnpm run docs:build
env:
ASTRO_SITE_URL: https://graphrefly.dev
ASTRO_BASE_PATH: /
# GITHUB_ACTIONS sets CI=true by default — perf-smoke.test.ts skips wall-clock (matches graphrefly-py).
- name: Benchmark smoke
run: pnpm bench