Skip to content

feat: v1.1.1 — Hugging Face OAuth + free providers + test fixes #19

feat: v1.1.1 — Hugging Face OAuth + free providers + test fixes

feat: v1.1.1 — Hugging Face OAuth + free providers + test fixes #19

Workflow file for this run

name: Release - Lya Code
# Runs on:
# - push of a v*.*.* tag
# - manual workflow_dispatch with a tag
#
# Publishes installer artifacts to StudioCodeAI/LyaCode-installers.
# Required secret:
# - INSTALLERS_REPO_TOKEN: PAT with Contents read/write on StudioCodeAI/LyaCode-installers.
on:
push:
tags:
- 'v*.*.*'
workflow_dispatch:
inputs:
tag:
description: 'Release tag, for example v1.0.8'
required: true
type: string
permissions:
contents: read
jobs:
build-and-release:
name: Build and release
runs-on: windows-latest
steps:
- name: Resolve release tag
id: release_tag
shell: pwsh
run: |
if ("${{ github.event_name }}" -eq "workflow_dispatch") {
$tag = "${{ inputs.tag }}"
} else {
$tag = "${{ github.ref_name }}"
}
if (-not $tag.StartsWith("v")) {
throw "Release tag must start with v. Received: $tag"
}
"tag=$tag" >> $env:GITHUB_OUTPUT
Write-Host "Release tag: $tag"
- name: Checkout source
uses: actions/checkout@v4
with:
ref: ${{ steps.release_tag.outputs.tag }}
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Setup Node.js 22
uses: actions/setup-node@v4
with:
node-version: '22'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Build CLI
run: bun run build
- name: Create npm tarball
run: npm pack
- name: Build Windows installer
run: bun run build:installer:windows
- name: Detect package version
id: version
shell: pwsh
run: |
$version = (Get-Content package.json | ConvertFrom-Json).version
$expectedTag = "v$version"
if ($expectedTag -ne "${{ steps.release_tag.outputs.tag }}") {
throw "package.json version $version does not match release tag ${{ steps.release_tag.outputs.tag }}"
}
"version=$version" >> $env:GITHUB_OUTPUT
Write-Host "Version detected: $version"
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: lyacode-release-${{ steps.version.outputs.version }}
path: |
dist/installer/*
studiocodeai-lyacode-*.tgz
- name: Publish installers release
uses: softprops/action-gh-release@v2
with:
name: Lya Code v${{ steps.version.outputs.version }}
tag_name: ${{ steps.release_tag.outputs.tag }}
repository: StudioCodeAI/LyaCode-installers
token: ${{ secrets.INSTALLERS_REPO_TOKEN }}
generate_release_notes: false
fail_on_unmatched_files: false
files: |
dist/installer/lyacode-setup-x64-*.exe
dist/installer/lyacode-portable-*.zip
studiocodeai-lyacode-*.tgz
body: |
## Lya Code v${{ steps.version.outputs.version }}
Terminal agentic da Studio CodeAI para workflows de codigo local e em nuvem.
### Instalacao via npm
```bash
npm install -g https://github.com/StudioCodeAI/LyaCode-installers/releases/download/${{ steps.release_tag.outputs.tag }}/studiocodeai-lyacode-${{ steps.version.outputs.version }}.tgz
```
### Windows Portable
```powershell
irm https://github.com/StudioCodeAI/LyaCode-installers/releases/download/${{ steps.release_tag.outputs.tag }}/lyacode-portable-${{ steps.version.outputs.version }}.zip -OutFile lyacode-portable.zip
Expand-Archive lyacode-portable.zip -DestinationPath .\lyacode-portable -Force
cd lyacode-portable
.\install.cmd
```
### Windows Installer
```powershell
irm https://github.com/StudioCodeAI/LyaCode-installers/releases/download/${{ steps.release_tag.outputs.tag }}/lyacode-setup-x64-${{ steps.version.outputs.version }}.exe -OutFile lyacode-setup.exe
.\lyacode-setup.exe
```
### Validacao
```bash
lya --version
lyacode --version
lscode --version
```
### Desinstalar
```bash
npm uninstall -g @studiocodeai/lyacode
```
Codigo-fonte: repositorio privado StudioCodeAI/LyaCode.
Releases publicas: StudioCodeAI/LyaCode-installers.