El repositorio no tiene ninguna integracion continua.
La evidencia
$ ls .github/workflows
ls: no such file or directory
No existe .github/workflows. Ningun push ni ninguna PR compila, prueba, ni revisa
nada de forma automatica.
Por que importa
Son cuatro contratos que manejan dinero. Hoy, alguien puede abrir una PR que no
compile, que rompa los tests, o que deje de generar wasm, y nada lo va a decir: la
unica defensa es que un humano se acuerde de correrlo a mano.
Ya paso algo parecido: el salto de soroban-sdk 25 a 27 exigio cambiar el
protocol_version en los tests de los cuatro contratos. Sin CI, un cambio asi se
descubre cuando ya esta en main.
Direccion del arreglo
Un workflow que en cada push y cada PR haga lo mismo que haria una persona:
Una trampa que conviene saber de antemano
El target correcto es wasm32v1-none, no wasm32-unknown-unknown. soroban-sdk
27 rechaza el segundo en Rust 1.82 o superior, y el error que tira no explica que el
problema es el target. scripts/build.ts ya lo instala solo; el workflow tiene que
hacer lo mismo con rustup target add wasm32v1-none.
Como se toma este trabajo: comentá la issue con un plan concreto (que archivo, que
funcion, y como lo vas a verificar). Se asigna por la calidad de ese plan, no por
orden de llegada. La PR va despues de la asignacion, con el cambio real adentro.
El repositorio no tiene ninguna integracion continua.
La evidencia
No existe
.github/workflows. Ningun push ni ninguna PR compila, prueba, ni revisanada de forma automatica.
Por que importa
Son cuatro contratos que manejan dinero. Hoy, alguien puede abrir una PR que no
compile, que rompa los tests, o que deje de generar wasm, y nada lo va a decir: la
unica defensa es que un humano se acuerde de correrlo a mano.
Ya paso algo parecido: el salto de
soroban-sdk25 a 27 exigio cambiar elprotocol_versionen los tests de los cuatro contratos. Sin CI, un cambio asi sedescubre cuando ya esta en main.
Direccion del arreglo
Un workflow que en cada push y cada PR haga lo mismo que haria una persona:
cargo build --target wasm32v1-none --releasepara los cuatro contratoscargo testpara los cuatrocargo fmt --checkycargo clippy -- -D warningsbun instally el build del frontend~/.cargoytarget/para que no tarde diez minutos cada vezUna trampa que conviene saber de antemano
El target correcto es
wasm32v1-none, nowasm32-unknown-unknown.soroban-sdk27 rechaza el segundo en Rust 1.82 o superior, y el error que tira no explica que el
problema es el target.
scripts/build.tsya lo instala solo; el workflow tiene quehacer lo mismo con
rustup target add wasm32v1-none.Como se toma este trabajo: comentá la issue con un plan concreto (que archivo, que
funcion, y como lo vas a verificar). Se asigna por la calidad de ese plan, no por
orden de llegada. La PR va despues de la asignacion, con el cambio real adentro.