Files
sigpro/.github/workflows/publicar-paquete.yml

63 lines
2.0 KiB
YAML

name: Publicar Paquete SigPro (NPM)
on:
workflow_dispatch:
push:
tags:
- 'v*'
permissions:
packages: write
contents: read
jobs:
publish:
runs-on: ubuntu-latest
# AÑADIMOS ESTO (Igual que en tu Deploy Docs)
container:
image: node:20-bullseye
options: >-
--dns 192.168.1.1
--add-host git.natxocc.com:host-gateway
--add-host gitea:host-gateway
steps:
- name: Checkout código
uses: actions/checkout@v4
env:
# Tu truco de GIT_CONFIG_PARAMETERS es genial, mantenlo
GIT_CONFIG_PARAMETERS: "'url.https://git.natxocc.com/.insteadOf=http://gitea:3000/'"
- name: Instalar Bun
run: |
curl -fsSL https://bun.sh/install | bash
echo "$HOME/.bun/bin" >> $GITHUB_PATH
# Nota: Usamos comando directo porque algunas Actions de terceros
# a veces fallan dentro de contenedores personalizados.
- name: Instalar dependencias
run: |
export PATH="$HOME/.bun/bin:$PATH"
bun install
- name: Ejecutar Build
run: |
export PATH="$HOME/.bun/bin:$PATH"
bun run build
- name: Configurar Registro Gitea y Publicar
run: |
# 1. Definimos la URL base del registro de NPM en tu Gitea
# Para paquetes sin scope, usamos la ruta base /npm/
REGISTRY_URL="git.natxocc.com/api/packages/natxocc/npm/"
# 2. Configuramos el .npmrc de forma manual y limpia
# Importante: La línea del token DEBE empezar por // y NO llevar https:
echo "//${REGISTRY_URL}:_authToken=${{ secrets.GITHUB_TOKEN }}" > ~/.npmrc
# 3. Forzamos a NPM a usar este registro para TODO en esta ejecución
# y deshabilitamos el chequeo estricto de SSL si fuera necesario
npm config set registry "https://${REGISTRY_URL}"
# 4. Publicar
# Añadimos --no-git-checks para evitar que npm intente validar el estado del repo
npm publish --userconfig ~/.npmrc