comcigan.ts/.forgejo/workflows/publish-forgejo-npm.yml
2026-04-05 19:26:02 +09:00

37 lines
1.1 KiB
YAML

name: Publish to Forgejo npm Registry
on:
push:
tags:
- "v*"
workflow_dispatch:
jobs:
publish:
runs-on: native
env:
NODE_AUTH_TOKEN: ${{ secrets.FORGEJO_NPM_TOKEN }}
REGISTRY_URL: https://git.mizuki.guru/api/packages/imnyang/npm/
SCOPE: imnyang
steps:
- name: Checkout
uses: https://code.forgejo.org/actions/checkout@v4
- name: Configure npm auth for Forgejo registry
run: |
REGISTRY_HOST="${REGISTRY_URL#https://}"
REGISTRY_HOST="${REGISTRY_HOST#http://}"
{
echo "@${SCOPE}:registry=${REGISTRY_URL}"
echo "//${REGISTRY_HOST}:_authToken=${NODE_AUTH_TOKEN}"
echo "always-auth=true"
} > "$HOME/.npmrc"
- name: Install, build, and publish in Nix shell
run: |
source /etc/bashrc
nix shell --extra-experimental-features nix-command --extra-experimental-features flakes nixpkgs#nodejs_24 nixpkgs#pnpm -c sh -lc '
pnpm install --frozen-lockfile
pnpm build
pnpm publish --no-git-checks --registry "$REGISTRY_URL"
'