Utiliser la branche testing pour tester les nouvelles améliorations sur les applications officielle.
Toutes les applications officielles disposent d’une branche testing, sur laquelle arrivent les nouveautés avant de rejoindre la banche master et d’être mise à disposition de tout les utilisateurs.
Cette branche peut être librement utilisée, et c’est un excellent moyen de tester les corrections apportées avant la diffusion à tout le monde.
Tester les applications sur la branche testing est un excellent moyen d’assurer la qualité des applications, et d’aider le groupe Apps à sortir les mises à jour rapidement.
Aider les utilisateurs sur le forum ou sur le salon support
Le support est une tâche récurrente et très chronophage. Il est toujours très utile de passer voir ce qui se dit sur le forum ou le salon support et d’aider les utilisateurs qui en ont besoin.
Proposer des corrections sur les apps en fonctions des issues ouvertes
Un bon moyen de s’initier au packaging d’application peut être d’aider les packageurs en corrigeant les issues ouvertes sur les applications.
Il suffit le plus souvent de forker le dépôt puis de créer une pull request avec votre correction.
Améliorer la qualité des applications pour leur permettre de monter en niveau
Certaines applications de niveau 4 ou 5 n’ont besoin que de peu de chose pour atteindre le niveau 7. Pour augmenter la qualité générale des apps, vous pouvez améliorer une app pour lui permettre de monter quelques niveaux.
YunoHost dispose déjà de beaucoup d’applications, mais peut-être pas celle que vous voulez, ou pas celle qui est attendue par la communauté.
Si vous savez comment installer l’application, vous êtes capable de créer un package pour YunoHost. Vous permettrez ainsi à tout les utilisateurs de YunoHost d’installer facilement l’application.
Mettre à disposition un raspberry pi pour les tests automatisés d’intégration continue.
Notre serveur d’intégration continue effectue des tests de manière automatisé sur une architecture x86-64.
Pour s’assurer que les applications fonctionnent également sur d’autres architectures, notre CI est capable de déléguer des tests à d’autres serveur sur des architectures différentes.
Ces serveurs secondaires sont simplement des machines d’utilisateurs de la communauté.
Si vous disposez d’un raspberry PI qui n’est pas trop occupé, vous pouvez participer aux tests d’intégration continue en nous prêtant de temps à autre cette machine.
Notre serveur de CI contacte les autres serveurs en ssh avec une clé privée et un utilisateur dédié isolé dans son dossier. En aucun cas cette connexion ne peux être utilisée pour autre chose qu’un test d’application, et il est impossible de sortir du dossier dédié à cette tâche.
Corriger ou améliorer la documentation sur le packaging d’application
La documentation sur le packaging d’application a été écrite par des packageurs, qui n’ont bien évidemment pas la meilleur place pour se rendre compte de la complexité de celle-ci.
Nous avons toujours besoin de maintenir cette documentation à jour, et de la rendre la plus claire et simple possible.
N’hésitez pas contribuer à la documentation, c’est très important pour les autres utilisateurs.
Traduire la documentation en anglais/français
Une grande partie de notre documentation n’est disponible qu’en français, si vous savez écrire en anglais, tout nos utilisateurs non francophones vous seront très reconnaissant si vous complétez la documentation anglaise manquante.
Écrire de la documentation sur comment utiliser une application
Nous essayons de rendre accessible l’installation et le maintien à niveau d’applications qui ne sont pas forcément simple à mettre en oeuvre. Mais nous ne disposons d’aucune documentation sur comment utiliser ces applications.
Si vous savez comment utiliser une application packagée pour YunoHost, les utilisateurs débutants pourraient être ravi de trouver une documentation leur permettant de découvrir comment utiliser une application après son installation.
Applications:
Using the testing branch to test the fixes or new features for a official application.
All our official applications have a testing branch, where all fixes or new features are released before coming to master branch and finally be released for all our users.
This branch can be used by everyone, and it’s a good way to try the modifications before a release for all the users.
Testing applications with the testing branch is an excellent way to ensure applications quality, and help the Apps group to get the updates out quickly.
Support is a recurring and very time-consuming task. It is always very useful to check out what is being said on the forum or the support chat room and help users who need it.
Propose corrections on apps based on open issues
A good way to learn about application packaging can be to help packagers by fixing open issues on applications.
You can usually fork the repository and then create a pull request with your correction.
Improve the quality of applications to allow them to level up
Some level 4 or 5 applications require little to reach level 7. To increase the overall quality of apps, you can improve an app to allow it to climb a few levels.
YunoHost already has many applications, but maybe not the one you want, or not the one that is expected by the community.
If you know how to install the application, you are able to create a package for YunoHost. This will allow all YunoHost users to easily install the application.
Provide a raspberry pi for automated continuous integration tests.
Our continuous integration server performs automated tests on an x86-64 architecture.
To ensure that applications also work on other architectures, our CI is able to delegate tests to other servers on different architectures.
These secondary servers are simply machines of users of the community.
Si vous disposez d’un raspberry PI qui n’est pas trop occupé, vous pouvez participer aux tests d’intégration continue en nous prêtant de temps à autre cette machine.
If you have a raspberry PI that is not too busy, you can participate to the continuous integration tests by lending us this machine from time to time.
Our CI server contacts the other servers by ssh with a private key and a dedicated user isolated in its folder. Under no circumstances this connection can be used for anything other than an application test, and it is impossible to exit the folder dedicated to this task.
Correct or improve the documentation about the packaging of applications.
La documentation sur le packaging d’application a été écrite par des packageurs, qui n’ont bien évidemment pas la meilleur place pour se rendre compte de la complexité de celle-ci.
The documentation about the packaging of applications has been written by packagers, who obviously do not have the best place to realize the complexity of the packaging process.
We always need to keep this documentation up to date, and to make it as clear and simple as possible.
Feel free to contribute to the documentation, it is very important for other users.
Translate documentation into English/French
A large part of our documentation is only available in French, if you can write in English, all our non-French-speaking users will be very grateful if you complete the missing English documentation.
Write documentation on how to use an application
We try to make it possible to install and maintain applications that are not necessarily easy to implement. But we have no documentation on how to use these applications.
If you know how to use a packaged application for YunoHost, novice users might be happy to find documentation to help them discover how to use an application after its installation.
Pour la mise à disposition d’un Raspberry Pi, comment ça se passe ?
récupération du script et lancer son exécution sur la base de la dernière image YunoHost pour Raspberry Pi avec règle NAT vers le port 22 du Raspberry Pi, ou bien idem (ou pas) sur la base de la dernière Raspbian ?
Autre question concernant la mise à disposition d’un RPi : Travaillez vous uniquement avec des RPi ou seriez vous intéressés par l’emploi d’autres SBC ? Je dois avoir un Orange Pi PC qui traine par exemple.
To lend some time of you raspi, it’s quite easy.
First, check if you have enough free space on your raspi, our test scripts need 6.5Go because of all the snapshots used during the process of testing an app.
Then git clone the repository https://github.com/YunoHost/CI_package_check, and execute the script auto_build/chroot_ssh.sh
Finally, nat the ssh port into your raspi.
That’s all on your side !
After that’s done, I’ll need some information to add you raspi to our infra.
A domain name to contact your raspi.
The ssh port you’ve chosen.
That’s all !!!
Your raspi have to be on raspbian or whatever distribution based on debian I guess. We know that our test scripts don’t work well if it’s not a debian based OS.
The public ssh key is already on the repository, you don’t have to bother with that.
And, about how long. There’s no rules, you do as you want. If you have to unplug your raspi, do it, it yours.
The thing is, when a test start, our script will choose randomly a raspi in its list, check the connection, and, if it works, check the load average to be sure that the chosen raspi is not already too busy.
So, if you have to unplug your raspi or to use it intensively, do it. It will not break the CI.
With our current architecture, using another type of machine would means add a new CI server to play with it. Which is not so convenient I agree…
I do not know what the real difference between an Orange PI and a Raspi, if there are. So I don’t know if we can include a Orange PI among Raspi without problem.
The thing is, we have to be sure that if a test succeed or fail on an Orange PI, it would be the same thing with a Raspi.
My IP adresse @ home is not quite static.
If i deploy YunoHost without creating a user and without any apps, just for the benefit of the IP check with a domain name from your infra : is it alright ?
I’ve got a Raspberry Pi 3B with a fast 16Go micro-SD and a good internet connexion.
Edit @Maniack_Crudelis if it’s ok with a YunoHost, i’ll install it an a Raspian Base in order to have all the requirements of a “Debian” installation.
I would even say, install YunoHost on your raspi, in order to have a domain from our infra for your dynamic IP. And, let’s install some applications and services for your own usage. It would be too bad to not use that YunoHost since it will be just here, waiting for that.
I’ve install Raspbian Lite, YunoHost, activate ssh, nat my gizmo-box, clone the repository and launch the script.
Everything Gone well until when the script can’t resolve http://httpredir.debian.org/debian stretch....
Except the httpredir.debian who’s looking strange, this shouldn’t resolve raspbian with a Raspberry Pi ?
Did you retry a second time ?
I guess that failure happens either during the build of the lxc container or during the installation of YunoHost in it. In both case, it shouldn’t be cause by the script itself.
Except if all dns resolutions have failed during the creation of the container. In that case, you can change the value of dnsforce to 0 in the file /home/pcheck/CI_package_check/package_check/config or even the value of dns itself.
No, i’ve not try a second time … it was (too) late
That’s it : the resolve screw-up in both case.
I’ll try once again this evening and if needed i’ll change the values as you said.
I’ll keep in touch
I have retry to run the script but it’s the same.
I haven’t any /home/pcheck/CI_package_check/package_check/config.
Only /home/pcheck/CI_package_check/package_check/sub_scripts/ or /home/pcheck/CI_package_check/package_check/.git
Edit @Maniack_Crudelis :
Obviously, this url is not correct/exploitable :
Ok, I got it.
When you reuse the script, the whole directory is removed, and so the config file of package check, so you can’t change the options.
I fixed that in the repository, so you can git pull or re-download CI_package_check.
If you want to change the option before retrying the script, you can do that:
sudo cp -a /home/pcheck/CI_package_check/package_check/config.modele /home/pcheck/CI_package_check/package_check/config
sudo nano /home/pcheck/CI_package_check/package_check/config
I’ve done it and add 0 to dnsforce.
Then, I’ve re-download and run the script without any message about things to download and failure resolving.
I’m going to do a private message and is there something to do to proctect the instance, the YunoHost instance ?
It’s about to add protection about ssh if it’s necessary.
Otherwise, only http and https ports are NAT.
If it doesn’t bother, i’ll just install Logwatch in order to have a bit of supervision on this quite “blind” machine in one hand, and in the other hand run apt update && apt dist-upgrade && apt autoremove && apt autoclean.
Actually, if you’re not using this rpi for anything else than our CI. You don’t even need to NAT 80 and 443.
Also, if you want, you can restrict the users allowed to connect to ssh. https://yunohost.org/#/security
But, already, with the port you’ve chosen, there’s no so much risk of an attack by a bot.