Inicialización del módulo Go y cambio de version de go a la 1.26

This commit is contained in:
Carlos Sandoval
2026-09-02 18:59:01 +00:00
parent 3b75a6c5f4
commit c1a060312f
9 changed files with 542 additions and 14 deletions
@@ -2,12 +2,12 @@
## ADDED Requirements
### Requirement: Contenedor de desarrollo con Go 1.22
El sistema SHALL incluir un devcontainer basado en la imagen oficial `mcr.microsoft.com/devcontainers/go:1-1.22-bookworm` que permita desarrollar el proyecto sin Go instalado localmente.
### Requirement: Contenedor de desarrollo con Go 1.26
El sistema SHALL incluir un devcontainer basado en la imagen oficial `mcr.microsoft.com/devcontainers/go:1-trixie` que permita desarrollar el proyecto sin Go instalado localmente.
#### Scenario: Apertura del proyecto en el contenedor
- **WHEN** el usuario abre el proyecto en DevPod o Dev Containers
- **THEN** el contenedor se construye a partir de la imagen oficial de Go 1.22 y dispone del toolchain necesario para compilar y ejecutar el proyecto
- **THEN** el contenedor se construye a partir de la imagen oficial de Go 1.26 y dispone del toolchain necesario para compilar y ejecutar el proyecto
### Requirement: Tooling del editor preconfigurado
El devcontainer SHALL preconfigurar el soporte de `gopls` (language server de Go) e instalar `golangci-lint`, además de las extensiones básicas de Go para el editor.
@@ -14,11 +14,11 @@ El pipeline de release SHALL ejecutarse cuando se realice push de tags cuyo nomb
- **THEN** el workflow de release no se ejecuta
### Requirement: Entorno de compilación
El pipeline SHALL utilizar una imagen de Ubuntu y SHALL configurar Go 1.22 como versión del toolchain antes de compilar.
El pipeline SHALL utilizar una imagen de Ubuntu y SHALL configurar Go 1.26 como versión del toolchain antes de compilar.
#### Scenario: Job de build
- **WHEN** el pipeline se ejecuta
- **THEN** el entorno de build dispone de Go 1.22 instalado sobre una imagen Ubuntu
- **THEN** el entorno de build dispone de Go 1.26 instalado sobre una imagen Ubuntu
### Requirement: Inyección de variables en la compilación
El pipeline SHALL inyectar en tiempo de compilación las variables `Version`, `GiteaURL`, `RepoOwner` y `RepoName` mediante `-ldflags`, derivadas del tag y del repositorio.