From 0a28e0cdb3c2186d348cae2ab057b9e627c7f874 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Mon, 24 Feb 2025 11:50:42 +0800 Subject: [PATCH] chore(CI): publish to GitHub Packages --- .github/workflows/release-pkg.yaml | 52 ++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/.github/workflows/release-pkg.yaml b/.github/workflows/release-pkg.yaml index a47109f7f..1cbcf5f02 100644 --- a/.github/workflows/release-pkg.yaml +++ b/.github/workflows/release-pkg.yaml @@ -13,6 +13,7 @@ permissions: issues: write pull-requests: write id-token: write + packages: write jobs: release: @@ -66,3 +67,54 @@ jobs: run: pnpm run changelogithub env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + release-github: + name: Release to GitHub Packages + runs-on: ubuntu-24.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install Node.js 22.x + uses: actions/setup-node@v4 + with: + node-version: 22.x + # registry-url required. Learn more at + # https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages + registry-url: 'https://npm.pkg.github.com' + + - uses: pnpm/action-setup@v3 + name: Install pnpm + with: + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v4 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Packages build + run: pnpm run packages:build + + - name: Packages publish + run: pnpm publish -r --access public --no-git-checks + env: + NPM_CONFIG_PROVENANCE: true + + - name: Sync GitHub Release + run: pnpm run changelogithub + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}