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

60 lines
1.7 KiB
YAML

name: Publicar Paquete SigPro (NPM)
on:
workflow_dispatch:
push:
tags:
- 'v*'
permissions:
packages: write
contents: read
jobs:
publish:
runs-on: ubuntu-latest
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:
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
- 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: Empaquetar y Publicar vía API (CURL)
run: |
# 1. Crear el archivo .tgz (empaquetado de npm)
# Esto generará un archivo llamado sigpro-1.2.12.tgz (o la versión que toque)
npm pack
# 2. Capturar el nombre del archivo generado
TARBALL_NAME=$(ls sigpro-*.tgz | head -n 1)
echo "Archivo detectado: $TARBALL_NAME"
# 3. Subida directa mediante CURL a la API de Gitea
# Usamos el GITEA_TOKEN (PAT) que configuraste como secreto
# La URL apunta directamente al endpoint de carga de paquetes de Gitea
curl -v -X PUT \
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
-F "package=@${TARBALL_NAME}" \
"https://git.natxocc.com/api/packages/natxocc/npm/"