Skip to content

remove: hard push

remove: hard push #8

Workflow file for this run

name: Release
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: write
id-token: write
pull-requests: write
concurrency:
group: release-main
cancel-in-progress: false
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.6
- name: Setup Node.js for npm trusted publishing fallback
uses: actions/setup-node@v4
with:
node-version: 22.14.0
registry-url: https://registry.npmjs.org
- name: Upgrade npm for trusted publishing compatibility
run: npm install --global npm@^11.5.1
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Debug release target and auth mode
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
echo "package_name=$(node -p "require('./packages/core/package.json').name")"
echo "package_version=$(node -p "require('./packages/core/package.json').version")"
echo "registry=$(npm config get registry)"
if [ -n "${ACTIONS_ID_TOKEN_REQUEST_TOKEN:-}" ] && [ -n "${ACTIONS_ID_TOKEN_REQUEST_URL:-}" ]; then
echo "oidc=available"
else
echo "oidc=unavailable"
fi
if [ -n "${NPM_TOKEN:-}" ]; then
echo "npm_token=present"
npm whoami || true
else
echo "npm_token=missing"
fi
- name: Run lint
run: bun run lint
- name: Run typecheck
run: bun run typecheck
- name: Build package
run: bun run build
- name: Run tests with JUnit output
run: bun run test:ci
- name: Upload JUnit report
if: always()
uses: actions/upload-artifact@v4
with:
name: packages-core-junit-release
path: packages/core/reports/junit.xml
if-no-files-found: error
- name: Create version PR or publish to npm
uses: changesets/action@v1
with:
title: "chore(release): version packages"
commit: "chore(release): version packages"
version: bun run version-packages
publish: bun run release:publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }}