Ğcli version 0.5.0 - gtest runtime, subxt upgrade, postgraphile squid api

Pour le build lui-même, je pense que j’ai corrigé le soucis de la clé; par contre ça plante plus loin:

...
Your branch is up to date with 'origin/main'.
$ git add Formula/$FORMULA_FILE
$ git commit -m "Update formula for version $CI_COMMIT_TAG"
[main 2983710] Update formula for version test-ci-0.5.2
 1 file changed, 15 insertions(+)
 create mode 100644 Formula/duniter-gcli.rb
$ git push origin $FORMULA_BRANCH
remote: GitLab: You are not allowed to push code to this project.
To git.duniter.org:clients/rust/homebrew-duniter-gcli.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'git.duniter.org:clients/rust/homebrew-duniter-gcli.git'
Cleaning up project directory and file based variables
00:00
ERROR: Job failed: exit code 1

@Moul, @HugoTrentesaux Je ne sais pas trop comment aller plus loin pour ce soucis là…

Je viens de tester la clé par rapport au serveur gitlab, elle est bien correcte, et me donne ce message en retour:

Welcome to GitLab, @librelois!

Du coup, soit le code dans le ci doit faire un ssh-add spécifique; soit cette clé n’a pas accès au repos en question - et ça je ne sais pas trop comment le vérifier.

Pour référence, le code de generate_homebrew_formula

La release est OK. C’est juste le job pour la publication sur la store d’app homebrew pour mac qui plante.
Moi je m’en fou perso de ce job, je crois que c’est Hugo que l’a fait.

J’ai ajouté de quoi être sur que la clé est bien ajoutée:

$ eval "$(ssh-agent -s)"
Agent pid 27
$ ssh-add ~/.ssh/id_rsa
Identity added: /root/.ssh/id_rsa (homebrew deploy key)
$ echo "Loaded SSH keys (ssh-add -l):" && ssh-add -l || true
Loaded SSH keys (ssh-add -l):
4096 SHA256:HZRA9upe+P7a6nIkuxC0qH23iYofXRk5Wt6Sm+YwKkA homebrew deploy key (RSA)

Par contre, toujours le même soucis d’accès

$ git push origin $FORMULA_BRANCH
remote: GitLab: You are not allowed to push code to this project.
To git.duniter.org:clients/rust/homebrew-duniter-gcli.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'git.duniter.org:clients/rust/homebrew-duniter-gcli.git'

Et comme je n’y connais rien non plus à ce generate_homebrew_formula; je ne sais pas trop ce que l’on veut en faire…

Je pense que ça à été rajouté par @elois mais que cela s’est retrouvé dans le commit de @HugoTrentesaux qui a mergé les changements qu’il restait en cours plus la mise à jour des dépendances subxt / gtest / postgraphile.

Edit:
J’ai désactivé le generate_homebrew_formula pour le moment dans .gitlab-ci.yml en gardant les corrections faites. @elois ou @HugoTrentesaux pourront le réactiver s’ils ont l’occasion d’y regarder plus tard :slight_smile:

Même si aucun changement n’a été fait dans l’application elle-même, j’ai augmenté la version à 0.5.2 et refais une release.

(voir message avec bonne release “gtest”)

Les questions à ce poser sont :

  • Y’a-t-il un besoin de build macOS ?
  • Qui sait et souhaite maintenir l’automatisation du build macOS ?

Si non aux deux questions, on désactive ou enlève le build macos.

Il faut une vision et les moyens, sinon ça ne sert à rien.

Mais il y a déjà le build MacOS c’est ok !!

J’ai oublié qu’il y a eu d’autres changements dans le .gitlab-ci.yml; maintenant on doit donner le nom de l’environnement dans le nom de tag, car sinon il build avec les features “gdev” par défaut !

On peut vérifier quel feature a été buildé en faisant les commande qui utilisent le paramètre “network” (-n):

gcli -n gtest config show                      

thread 'main' (12586) panicked at src/data.rs:187:21:
unknown network "gtest"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
gcli -n gdev config show                      

Ğcli config
duniter endpoint ws://localhost:9944
indexer endpoint http://localhost:8080/v1/graphql
address 5GhAZBagx87sTGfMppfPPcWhxCKGWE8zDi1oHp7YiKosD9KZ
(Vault: Base[address:5GhAZBagx87sTGfMppfPPcWhxCKGWE8zDi1oHp7YiKosD9KZ, g1v1_pub_key:EnFfLNWnonXwxmzipLbbqa1fybSs7xdPoYhmbkMYzR3G, name:Some("G1V1-key"), crypto_scheme:Some(Ed25519)])

Du coup je vais refaire une release en ajoutant “gtest” dans le nom du tag.

1 Like

J’ai supprimé tous les autres tags (et releases) 0.5.x et refais une avec “gtest”:

Qui est bien correcte (même si les serveurs sélectionnés pour le réseau “gtest” ne sont peut-être pas à jour):

gcli -n gtest config show 
Ğcli config
duniter endpoint wss://gt.elo.tf
indexer endpoint https://gt-squid.axiom-team.fr/v1/graphql
address 5GhAZBagx87sTGfMppfPPcWhxCKGWE8zDi1oHp7YiKosD9KZ
(Vault: Base[address:5GhAZBagx87sTGfMppfPPcWhxCKGWE8zDi1oHp7YiKosD9KZ, g1v1_pub_key:EnFfLNWnonXwxmzipLbbqa1fybSs7xdPoYhmbkMYzR3G, name:Some("G1V1-key"), crypto_scheme:Some(Ed25519)])
4 Likes

oui :slight_smile:

je veux bien m’en occuper, je regarderai la semaine prochaine si j’y arrive.

Les
builds
MacOS
fonctionnent
Déjà

https://git.duniter.org/clients/rust/gcli-v2s/-/jobs/157965/artifacts/raw/gcli.tar.gz

4 Likes

Oui je sais.
Je parlais de m’approprier le process pour le maintenir dans le temps.

1 Like

@aya Je ne connais pas du tout le monde macos, donc pas non plus les homebrew formula que ce dernier script gitlab (que j’ai désactivé pour le moment) semble créer.
A priori le but est de fournir une sorte de “package” pour homebrew ??

Si ça te parle et que tu veux tenter de finaliser cette partie là, tant mieux :slight_smile:

1 Like

En fait, Éloïs n’a jamais réussi à avoir le job generate_homebrew_for_mula fonctionnel :

voir les pipelines #41150 et #41143.
Le git push sur ce dépôt supplémentaire est censé faire quoi ? Créer un dépôt de paquet Homebrew ?
Désactiver le job ferait que la pipeline soit complétée avec succès. Il me semble que c’est ce que tu as tenté de faire Hugo.

1 Like

Le build fonctionne désormais dans le dépôt gcli-v2s.
La clé de déploiement utilisée pour accéder au dépôt homebrew-duniter-gcli était liée au compte d’Elois, actuellement désactivé, ce qui posait pb à la fin du job generate_homebrew_formula.
Je dois encore regarder la publication sur homebrew à partir du dépôt homebrew-duniter-gcli, mais je peux signaler qu’il y a déjà un paquet gcli, comme pour debian.
Il va falloir utiliser un nom different comme dcli par ex pour le publier.

3 Likes

Oui, ce soucis est embêtant… Je me rapelle que j’avais fais un sondage pour potentiellement changer le nom; mais c’est tombé dans l’oubli :smiley: - en partie car je n’ai aucune idée de comment faire en sorte de faire enregistrer notre application dans les packages Debian (pour éviter un nouveau soucis dans le futur si on change de nom maintenant)…

Cool que ce soit corrigé :slight_smile:

Par contre, je vois que @HugoTrentesaux à probablement retiré le protected pour la variable GitLab CI; et du coup le job generate_homebrew_formula a fonctionné jusqu’au bout pour mon build de (beta) test pour Gcli 0.6.0-gtest-RC1: et cela vient d’écraser le fichier Formula/duniter-gcli.rb :

Je vais regarder pour ne lancer generate_homebrew_formula que quand on démarre un pipeline pour un tag protected comme ça, on ne devrait écraser que quand c’est pour une release “stable”.

Ou bien il faut peut-être adapter le generate_homebrew_formula pour qu’il garde plusieurs fichiers suivant les versions - je ne sais pas ce qui est le mieux… Qu’est-ce qu’il te semble @aya ?

Uniquement sur les branches protected ça ira très bien, on veut publier les versions stables sur homebrew.

1 Like

Il faudrait peut être avoir une version par réseau Gune par contre gtest et g1.

Ou bien ce sera simplement gtest pour le moment et g1 quand ce sera en prod.

Oui gtest pour le moment puis g1 après la mise en prod.
On verra si la gtest nécessite un paquet à part.

2 Likes