Ğecko talks / user support

Hello @ManUtopiK’s Indexer !

image

5 Likes

Dans le dernier build, vous pouvez désormais rechercher n’importe quelle identité par son nom dans la recherche, grâce à l’indexer de Manu !

Les noms d’identités ont également pris leurs place sur les profiles comme indiqué dans le dernier message.

3 Likes

@poka la dernière release n’est pas dispo sur le gitlab, est-ce normal ?

Perso ça m’embête car je passe par le gitlab pour télécharger le .apk depuis mon telephone, c’est beaucoup plus rapide d’y trouver le lien que sur le forum.

En fait je ne créer plus de release sur le gitlab car j’ai automatisé le déploiement.
En fait je créer des tags à chaque fois: Tags · clients / Ğecko · GitLab

Mais le liens de l’APK n’y est pas, est-ce que ça t’irais si les prochaines fois je rajoute le lien vers l’APK dans ces messages de tags ?

Les liens seront toujours au format https://gecko-apk.p2p.legal/dl/gecko-VERSION.apk
Donc même si on a pas le lien on peut le deviner si a la lien de la version précédente.

Je ne sais pas comment créer des release en ligne de commande, c’est une mécanique propre à gitlab donc je suppose qu’il faut passer par l’api gitlab, alors que là je fait juste:

TAG_MESSAGE="$(git log --pretty='format:- %s ([%C(auto)%h](https://git.duniter.org/clients/gecko/-/commit/%C(auto)%h)) ' $LAST_VERSION...HEAD --no-merges)"
git tag -a v$VERSION -m"$TAG_MESSAGE" || exit 1
git push --tags || exit 1

Et j’ai un hook qui lance automatiquement le build côté CodeMagic et publie sur le playstore, lorsqu’un tag commençant par v est push sur master.
@llaq est en train de mettre un hook sur ces tags aussi pour fDroid, comme il connait le pattern des liens de téléchargement il n’en a pas besoin dans les messages de tags.

1 Like

Non pas dans le message de commit c’est sale.

Le mieux c’est de créer la release gitlab automatiquement quand le git tag est push, c’est assez simple à faire avec gitlab: Releases | GitLab

Quelque chose dans ce style devrait fonctionner:

release_job:
  stage: release
  image: registry.gitlab.com/gitlab-org/release-cli:latest
  rules:
    - if: $CI_COMMIT_TAG                 # Run this job when a tag is created
  script:
    - echo "running release_job"
  release:
    tag_name: '$CI_COMMIT_TAG'
    description: '$CI_COMMIT_TAG'
    assets:
      links:
        - name: 'android-apk'
          url: 'https://gecko-apk.p2p.legal/dl/gecko-$CI_COMMIT_TAG.apk'
2 Likes

Ca m’a l’aire super ça!

Par contre il faut que la CI gitlab fonctionne pour ça, hors j’ai encore des soucis, je comptais l’abandonner pour rester exclusivement sur la CI de codemagic, qui me fait déjà le déploiement sur le PlayStore oklm et tout…

Même si en vrai là j’ai quasiement finit de debuguer la CI gitlab de gecko…

Est-ce que codemagic te permet de jouer les tests sur chaque push d’une MR ouverte ?

Parce que l’intérêt principal de la CI de gitlab c’est ça: tester une MR à chaque push d’un nouveau commit pour vérifier qu’elle n’induit pas de regression :slight_smile:

L’idéal étant de configurer gitab de manière à ne pas pouvoir merger une MR si la CI ne passe pas, et ne pas pouvoir push sur master, ça donne de bonnes garantie que master ne sera pas cassé facilement, et ça apporte un cadre sécurisant pour les nouveaux contributeurs.

Ça n’empêche pas de garder le webhook codemagic pour la partie packaging et publication, qui correspond plus à la partie « CD » que « CI » :wink:

Oui bien sûr, et plus encore, il fait vraiment le café:

Alors là j’avoue que je ne fonctionne plus du tout en MR avec Ğecko étant donnée que je suis solo à dev dessus, et que je me sert justement plus de la CI gitlab, je merge en local…

Je sais que ce n’est pas l’idéal, mais franchement redshift pour la CI gitlab est super lente, bien plus lente que la VM la plus lente de codemagic…

Oui je pense que je vais garder codemagic pour les tests (pas encore activés), les builds et publications playstore/appstore.
Je peux changer la CI gitlab de gecko pour juste créer une nouvelle release à chaque tag v*, comme ton template le suggère, mais je ne mettrait que ça dedans du coup.

1 Like

404 :cry:

1 Like

arf… fix !
C’est mon cron de cleanup des vieux APK qui faisait les choses à l’envers, il gardait uniquement les 5 plus vieux APK au lieux de garder les 5 plus récent … c’est réparé.

1 Like

C’est mieux, mais :

L’application n’a pas été installée, car le package semble ne pas être valide.

:cry:

Oui alors j’ai eu ce problème il faut désinstaller l’app pour installer cette nouvelle version, mais j’ai compris pourquoi. C’est le numéro de build après + qui en fait ne doit pas être utilisé comme je le fait depuis le début, car il doit toujours être supérieur ou égal au précédent, exemple: v0.0.9+2 est une version inférieur à v0.0.8+9 pour Android car 2<9 …

Donc je vais devoir arrêter mes +truc entre chaque version… Ou plutôt l’incrémenter constamment, et toujours incrémenter le numéro de version lorsque c’est une version officielle.

1 Like

Tiens pour vérifier que ce que je dit est vrai, normalement avec ce build tu ne devrait plus avoir de problème d’install, alors que c’est le même que +2 mais avec un numéro de build +10: https://gecko-apk.p2p.legal/dl/gecko-0.0.9+10.apk

Dites moi si c’est bien le cas, je changerai le lien dans mon message précédent et le topic.

2 Likes

C’est bon, application installée avec ce dernier lien. :+1:

1 Like

Bon par contre j’ai dû supprimer les données sinon l’application affichait indéfiniment le logo Ğecko au démarrage.

Ah merde, le logo Ğecko ?
Ya pas de logo Gecko au démarrage, c’est bizarre j’ai jamais eu ce soucis.

Peut être dû à l’échec d’install de l’apk précédent, mais j’en doute :thinking:


bon normalement il a du retrouver automatiquement tes portefeuilles actifs, faut juste remettre les image si présentes, et les nom pour les portefeuilles sans identités si ils ont été changés…
J’aimerai reproduire ton bug.

Je confirme que le numéro de version m’a posé problème aussi, j’ai désinstallé / réinstallé. N’hésite pas à sortir une version 0.1.0 pour pouvoir incrémenter dessus. C’est pas grave si on arrive à 0.1.223, 0.1.224, 0.1.225 avant de passer à la 0.2.0 :wink:
Et on gardera la v1.0.0 pour le passage de la ĞDev à la Ğ1 !

1 Like

Je pense plutôt continuer comme avant sauf que je ne vais jamais reset la numéro de build après chaque monté de version comme je faisais.

Ca donnera des versions genre 0.0.11+329 ect … Le numéro de build étant toujours représentatif d’un build unique.

Mais c’est vrai qu’il va être temps de passer en v0.1.0+x bientôt oui :slight_smile:

1 Like

J’ai peur que tu fonces seul trop vite, une app mobile c’est un très gros projet il va grossir et grossir encore, et tot ou tard tu ne pourras plus le maintenir seul.

Il me semble important de ralentir et mettre en place dès maintenant le nécessaire pour pouvoir accueillir d’autres contributeurs: identifier des issues faciles, mettre en place un workflow qui fonctionne à plusieurs et qui soit sécurisant (qu’on ait pas peur de tout casser en contribuant).

Tu as beaucoup appris en Flutter depuis 2 ans, il va être temps de transmettre et de créer une équipe :slight_smile:

Oui ça demande de ralentir, oui tout seul on va plus vite, mais ensemble on va plus loin, ça ne sert à rien de rusher une app complète que tu ne pourras pas maintenir seul dans la durée.

2 Likes

En premières contribution, moi ce dont j’ai le plus besoin, c’est de quelqu’un qui s’occupe de la CI de Ğecko sur le gitlab, ainsi qu’un serveur de CI plus puissant que redshift.

Ensuite, je n’ai jamais fait d’atelier ou formation de ce genre, ce serait une première pour moi.

Il faudrait déjà que je sonde sur ce forum qui serait intéressé par un workshop sur Ğecko, ou sur Flutter de manière plus général.

Je disais à Hugo tout à l’heure, que j’ai bien envie de transformer le gdev_annuaire en Ğecko explorer, uniquement pour web, lecture seul sur l’indexer, avec une recherche avancée, vue en tuile des profiles comme Ğecko, activités des profiles, ect …

Ca me semble beaucoup plus abordable pour commencer à mettre les mains dans Flutter pour plusieurs raisons:

  • Pas besoin de la stack android studio et compagnie, ni d’émulateur, chrome et vscode suffisent
  • Projet naissant que je n’ai pas encore architecturé mais je compte reprendre globalement la même archi que Ğecko
  • Beaucoup plus simple comme app, pas de gestion de coffre/portefeuille, pas de paiement ni certifs, que de l’exploration

Même si ça me démange de bosser sur cet annuaire, parceque ça me parait très simple et que ça me change un peu de Ğecko et sa complexité, je sais que ce serait bien de plutôt organiser des workshop en visio/peerprograming pour accompagner des contributeurs à le faire.

Je vais lancer un sondage pour voir si ça intéresse du monde.

2 Likes