name: Build and Release on: push: tags: - 'v*' jobs: build-and-release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Ejecutar script de build run: bash build.sh - name: Crear release con los archivos generados env: RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }} run: | tag="${GITHUB_REF_NAME}" # Crear el release release_response=$(curl -s -X POST \ -H "Authorization: token $FORGEJO_TOKEN" \ -H "Content-Type: application/json" \ "${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/releases" \ -d "{ \"tag_name\": \"${tag}\", \"name\": \"Release ${tag}\", \"body\": \"Release automático generado por build.sh\", \"draft\": false, \"prerelease\": false }") echo "$release_response" release_id=$(echo "$release_response" | jq -r '.id') echo "Release creado con ID: $release_id" # Subir todos los archivos que generó el script for file in release-dir/*; do filename=$(basename "$file") echo "Subiendo $filename al release..." curl -X POST \ -H "Authorization: token $FORGEJO_TOKEN" \ -H "Content-Type: application/octet-stream" \ --data-binary @"$file" \ "${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/releases/${release_id}/assets?name=${filename}" done echo "Release completado con todos los archivos"