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