Skip to content

add center for pcb panel (#473) #510

add center for pcb panel (#473)

add center for pcb panel (#473) #510

# Created using @tscircuit/plop (npm install -g @tscircuit/plop)
name: Publish to npm
on:
push:
branches:
- main
workflow_dispatch:
env:
UPSTREAM_REPOS: "runframe" # comma-separated list, e.g. "eval,tscircuit,docs"
UPSTREAM_PACKAGES_TO_UPDATE: "@tscircuit/pcb-viewer" # comma-separated list, e.g. "@tscircuit/core,@tscircuit/protos"
jobs:
publish:
runs-on: ubuntu-latest
if: ${{ !(github.event_name == 'push' && startsWith(github.event.head_commit.message, 'v')) }}
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.TSCIRCUIT_BOT_GITHUB_TOKEN }}
- name: Setup bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: https://registry.npmjs.org/
- run: npm install -g pver
- run: bun install --frozen-lockfile
- run: bun run build
- run: pver release --no-push-main
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.TSCIRCUIT_BOT_GITHUB_TOKEN }}
- name: Create Pull Request
id: create-pr
uses: peter-evans/create-pull-request@v5
with:
commit-message: "chore: bump version"
title: "chore: bump version"
body: "Automated package update"
branch: bump-version-${{ github.run_number }}
base: main
token: ${{ secrets.TSCIRCUIT_BOT_GITHUB_TOKEN }}
committer: tscircuitbot <[email protected]>
author: tscircuitbot <[email protected]>
- name: Enable auto-merge
if: steps.create-pr.outputs.pull-request-number != ''
run: |
gh pr merge ${{ steps.create-pr.outputs.pull-request-number }} --auto --squash --delete-branch
env:
GH_TOKEN: ${{ secrets.TSCIRCUIT_BOT_GITHUB_TOKEN }}
- name: Trigger upstream repo updates
if: env.UPSTREAM_REPOS && env.UPSTREAM_PACKAGES_TO_UPDATE
run: |
IFS=',' read -ra REPOS <<< "${{ env.UPSTREAM_REPOS }}"
for repo in "${REPOS[@]}"; do
if [[ -n "$repo" ]]; then
echo "Triggering update for repo: $repo"
curl -X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token ${{ secrets.TSCIRCUIT_BOT_GITHUB_TOKEN }}" \
-H "Content-Type: application/json" \
"https://api.github.com/repos/tscircuit/$repo/actions/workflows/update-package.yml/dispatches" \
-d "{\"ref\":\"main\",\"inputs\":{\"package_names\":\"${{ env.UPSTREAM_PACKAGES_TO_UPDATE }}\"}}"
fi
done
- name: Notify release-tracker of version update
# Continue-on-error just in case the tracker is down
continue-on-error: true
run: |
VERSION=$(node -p "require('./package.json').version")
PACKAGE_JSON=$(cat package.json)
curl -X POST https://release-tracker.tscircuit.com/release_events/create \
-H "Content-Type: application/json" \
-d "{
\"event\": {
\"event_type\": \"versions_updated\",
\"repo\": \"tscircuit/pcb-viewer\",
\"version\": \"$VERSION\",
\"package_json\": $PACKAGE_JSON
}
}"