60 lines
1.7 KiB
YAML
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/" |