37 lines
1.1 KiB
YAML
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"
|
|
'
|