/ressources_from_thp

les ressources THP fournies par Marvin !

articles par sur le slack de THP

Mailers

Empty ?

Memoization

https://www.justinweiss.com/articles/4-simple-memoization-patterns-in-ruby-and-one-gem/

Tests aquatiques

https://lafabrique.kisskissbankbank.com/tests-aquatiques-2c7c235727ee

Concerns

Custom Validations

Redis

detect jest and use http adapter instead of XMLhttpRequest

node : set immediate callbacks

##Standalone test spies, stubs and mocks for JavaScript.

flow : static type checker for javascript

asynchronous tests with jest

gitlab & heroku

1️⃣ pour tous ceux qui utilisaient GitHub / Heroku ... et qui ont décidé de migrer vers GitLab ... il n'y a pas d'intégration plug-and-play fournie par Môôôssieur Heroku (= heroku ne détecte pas les modifs du repo et récupère le code pour l'appliquer sur l'instance qui aura été correctement configurée pour faire ça 😉 )

2️⃣ Alors que heroku récupérait ce qu'il faut depuis la forge (GitHub) ... maintenant il faut trouver un moyen de dire à la forge (GitLab) de pousser vers heroku (de pourquoi ou parle de CI/CD ... le D étant pour Deployment) => il faut déployer sur heroku

3️⃣ pour faire ça ... il faut déjà commencer par autoriser la forge (GitLab) à envoyer des choses à Heroku

4️⃣ il faut donc récupérer une clé API dispo dans l'interface de heroku !

5️⃣ tout ceci n'a d'intérêt que si les tests passent (spéciale dédicace à @François D. et @Louis 😉♥️) ... après seulement on va chercher à déployer sur heroku ... et encore après à tweaker les runners pour des besoins spécifiques ou parce que c'est contre ta religion d'utiliser les ressources mises à ta disposition gratuitement par GitLab 😏

6️⃣ pour faire passer des tests grâce à GitLab ... baaah faut un fichier .gitlab-ci.yml qui grosso merdo fait la même chose qu'un docker compose (pour ceux à qui ça parle) = ça prépare une ou des machines (virtuelles ... des containers en réalité 😉 ... vu que désormais les principaux CI utilisent docker) ... mais c'est toujours pas besoin de se prendre la tête avec docker ... GitLab fait ça pour vous ! (https://docs.gitlab.com/ee/ci/quick_start/)

7️⃣ là vous luttez un peu avec les docs ... pour modifier / tweaker votre fichier .gitlab-ci.yml (ex.: rajouter rubocop / du coverage minimum 😏 )

8️⃣ quand tout est vert (= tous les tests passent) la partie CI est done ... on peut enfin attaquer la partie CD = envoyer vers les serveurs-ki-vont-bien ... heroku en l'espèce (vu le nombre de fois où je suis surpris par ça, je me dois de préciser: même si c'est top, il n'y a pas que heroku dans la vie ... et non tous les autres services ne fonctionnent pas de la même façon / ne s'intègrent pas à grands coups de git push heroku master & co)

9️⃣ vu que tu te seras fais chier à lire les docs à l'étape 7️⃣ tu sais désormais qu'on peut faire exécuter des scripts à des étapes spécifiques dans le fichier .gitlab-ci.yml ... soit tu fais le truc bourrin: un bon vieux push des familles vers l'adresse du repo qui correspond à ton instance heroku ... soit tu utilises des trucs comme dpl pour que ce soit plus smooth (edited)