<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bastien Dronneau</title>
    <description>The latest articles on DEV Community by Bastien Dronneau (@bdronneau).</description>
    <link>https://dev.to/bdronneau</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F621912%2F67bb574f-2590-4033-8834-1c599f1c0144.jpeg</url>
      <title>DEV Community: Bastien Dronneau</title>
      <link>https://dev.to/bdronneau</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bdronneau"/>
    <language>en</language>
    <item>
      <title>Psqlrc</title>
      <dc:creator>Bastien Dronneau</dc:creator>
      <pubDate>Mon, 07 Aug 2023 15:44:04 +0000</pubDate>
      <link>https://dev.to/bdronneau/psqlrc-34nj</link>
      <guid>https://dev.to/bdronneau/psqlrc-34nj</guid>
      <description>&lt;p&gt;Je me connecte régulièrement à des serveurs postgresql, soit pour du développement soit pour debug. En effet, l'observabilité manque parfois de détails.&lt;/p&gt;

&lt;p&gt;Afin de me simplifier la vie j'utilise le fichier de configuration &lt;code&gt;.psqlrc&lt;/code&gt; (&lt;a href="https://github.com/bdronneau/dotfiles/blob/main/symlinks/psqlrc"&gt;source&lt;/a&gt;). Il permet comme tous les fichiers de configuration dotfiles, celui-ci permet de configurer le client, par exemple le prompt.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;\set PROMPT1 '%[%033[1m%]%M %n@%/%R%[%033[0m%]%# '
\set PROMPT2 '[more] %R &amp;gt; '
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La signification des variables est disponible &lt;a href="https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-PROMPTING"&gt;ici&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;ou pour activer par défaut le &lt;code&gt;timing&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;\timing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La directive &lt;code&gt;\set QUIET 1&lt;/code&gt; au début du fichier réduit les retours des commandes car ces dernières sont exécutées après la connexion.&lt;/p&gt;

&lt;p&gt;Après la configuration esthétique, on peut ajouter des alias pour appeler facilement des requêtes de débogage (verrous, activité,...)&lt;br&gt;
&lt;em&gt;Remarque&lt;/em&gt;: Certaines de ces commandes nécessitent des privilèges SUPERUSER pour afficher les résultats.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;\set activity 'select datname, pid, usename, application_name,client_addr, client_hostname, client_port, query, state from pg_stat_activity;'
\set locks 'select pg_stat_activity.pid, pg_class.relname, pg_locks.transactionid, pg_locks.granted, substr(pg_stat_activity.query,1,30) as query_snippet, age(now(),pg_stat_activity.query_start) as "age" from pg_stat_activity,pg_locks left outer join pg_class on (pg_locks.relation = pg_class.oid) where pg_stat_activity.query &amp;lt;&amp;gt; ''&amp;lt;insufficient privilege&amp;gt;'' and pg_locks.pid=pg_stat_activity.pid and pg_locks.mode = ''ExclusiveLock'' order by query_start;'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Puis on appelle l'alias avec &lt;code&gt;:activity&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;127.0.0.1 postgres@postgres=# :activity
┌──────────┬─────┬──────────┬──────────────────┬─────────────┬─────────────────┬─────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────┐
│ datname  │ pid │ usename  │ application_name │ client_addr │ client_hostname │ client_port │                                                             query                                                             │ state  │
├──────────┼─────┼──────────┼──────────────────┼─────────────┼─────────────────┼─────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────┤
│ (null)   │  28 │ postgres │                  │ (null)      │ (null)          │      (null) │                                                                                                                               │ (null) │
│ (null)   │  27 │ (null)   │                  │ (null)      │ (null)          │      (null) │                                                                                                                               │ (null) │
│ (null)   │  24 │ (null)   │                  │ (null)      │ (null)          │      (null) │                                                                                                                               │ (null) │
│ (null)   │  23 │ (null)   │                  │ (null)      │ (null)          │      (null) │                                                                                                                               │ (null) │
│ (null)   │  26 │ (null)   │                  │ (null)      │ (null)          │      (null) │                                                                                                                               │ (null) │
└──────────┴─────┴──────────┴──────────────────┴─────────────┴─────────────────┴─────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────┘
(7 rows)

Time: 3.299 ms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Faites toujours attention aux requêtes que vous lancer manuellement sur les instances de &lt;strong&gt;PROD&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Plus de lecture / sources:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Le fichier complet &lt;a href="https://github.com/bdronneau/dotfiles/blob/main/symlinks/psqlrc"&gt;https://github.com/bdronneau/dotfiles/blob/main/symlinks/psqlrc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-customize-the-postgresql-prompt-with-psqlrc-on-ubuntu-14-04"&gt;https://www.digitalocean.com/community/tutorials/how-to-customize-the-postgresql-prompt-with-psqlrc-on-ubuntu-14-04&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.if-not-true-then-false.com/2009/postgresql-psql-psqlrc-tips-and-tricks/"&gt;https://www.if-not-true-then-false.com/2009/postgresql-psql-psqlrc-tips-and-tricks/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>postgres</category>
      <category>sre</category>
      <category>database</category>
    </item>
    <item>
      <title>[tips] Raycast: walkthrough</title>
      <dc:creator>Bastien Dronneau</dc:creator>
      <pubDate>Mon, 07 Aug 2023 15:22:02 +0000</pubDate>
      <link>https://dev.to/bdronneau/raycast-1bei</link>
      <guid>https://dev.to/bdronneau/raycast-1bei</guid>
      <description>&lt;p&gt;Pour marquer le "walkthrough" comme terminé il faut lancer le prompt &lt;a href="https://www.raycast.com/" rel="noopener noreferrer"&gt;raycast&lt;/a&gt; puis faire la combinaison &lt;code&gt;command + k&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Et "voilà"&lt;/p&gt;

</description>
      <category>macos</category>
    </item>
    <item>
      <title>Release please et le plaisir de l'automatisation</title>
      <dc:creator>Bastien Dronneau</dc:creator>
      <pubDate>Fri, 24 Feb 2023 16:58:01 +0000</pubDate>
      <link>https://dev.to/bdronneau/release-please-et-leffort-de-lautomatisation-5db7</link>
      <guid>https://dev.to/bdronneau/release-please-et-leffort-de-lautomatisation-5db7</guid>
      <description>&lt;p&gt;Cela fait un moment que je voulais tester &lt;a href="https://github.com/googleapis/release-please" rel="noopener noreferrer"&gt;release-please&lt;/a&gt; dans le but de me faciliter la vie avec la génération de changelog et de tags sur des projets.&lt;/p&gt;

&lt;p&gt;Je vais utiliser un de mes &lt;a href="https://github.com/bdronneau/memoriesbox/" rel="noopener noreferrer"&gt;projets&lt;/a&gt;. Certes pour moins de 1000 lignes de code cela va être surfait, mais il faut bien s'amuser.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prérequis
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Connaître les &lt;a href="https://www.conventionalcommits.org/en/v1.0.0/" rel="noopener noreferrer"&gt;conventional commits&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Connaître les &lt;a href="https://github.com/features/actions" rel="noopener noreferrer"&gt;github actions&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Mise en place de release please
&lt;/h2&gt;

&lt;p&gt;Tout d'abord on créé le &lt;a href="https://github.com/bdronneau/memoriesbox/commit/b3e1c2e3b09a0ae475ddb11d59c39db69dd55ab0" rel="noopener noreferrer"&gt;fichier&lt;/a&gt; &lt;code&gt;.github/workflows/release-please.yml&lt;/code&gt; qui va contenir notre github action.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Release-Please&lt;/span&gt;
&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;branches&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;main&lt;/span&gt;
&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;release-please&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;google-github-actions/release-please-action@v3&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;release-type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;go&lt;/span&gt;
          &lt;span class="na"&gt;default-branch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;main&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/google-github-actions/release-please-action#setting-up-this-action" rel="noopener noreferrer"&gt;Source&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Une fois en place, une pull request est ouverte par le github-actions bot:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvjvqs4lt8x9xgbyyrsrq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvjvqs4lt8x9xgbyyrsrq.png" alt="pull request release"&gt;&lt;/a&gt;&lt;br&gt;
L'action remplie les fichiers &lt;code&gt;CHANGELOG.md&lt;/code&gt; et &lt;code&gt;.release-please-manifest.json&lt;/code&gt; avec les différentes informations trouvées dans les messages de commits. La version est incrémentée en fonction des &lt;a href="https://www.conventionalcommits.org/en/v1.0.0/" rel="noopener noreferrer"&gt;conventional commits&lt;/a&gt;. Ce comportement est inhérent au fait que j'utilise la clé &lt;code&gt;release-type&lt;/code&gt; positionné à &lt;code&gt;go&lt;/code&gt; (voir les autres &lt;a href="https://github.com/googleapis/release-please#strategy-language-types-supported" rel="noopener noreferrer"&gt;types&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Et voilà on commence à génèrer des releases github de façon programmatique.&lt;/p&gt;

&lt;p&gt;Après le merge notre première release est créée&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1emhs2dts6xq5ofqnxm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1emhs2dts6xq5ofqnxm.png" alt="release 1.0.0"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Release et intégration continue
&lt;/h2&gt;

&lt;p&gt;Avec cette version lors de la création de la release et du tag associé, il n'y aura pas de github action qui sera déclenchée (plus de lecture par ici sur le &lt;a href="https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret" rel="noopener noreferrer"&gt;&lt;code&gt;GITHUB_TOKEN&lt;/code&gt;&lt;/a&gt;).&lt;br&gt;
Dans mon cas, lors d'une nouvelle release je souhaite qu'un conteneur soit construit. J'injecte donc un token personnel via la directive &lt;code&gt;token&lt;/code&gt; de l'action.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;: au 20/02/2023 il faut utiliser un token personnel (&lt;a href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-personal-access-token-classic" rel="noopener noreferrer"&gt;pat&lt;/a&gt;), on ne peut pas utiliser les &lt;a href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-fine-grained-personal-access-token" rel="noopener noreferrer"&gt;tokens&lt;/a&gt; avec des droits fins.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;...&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;google-github-actions/release-please-action@v3&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;release-type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;go&lt;/span&gt;
          &lt;span class="na"&gt;default-branch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;main&lt;/span&gt;
          &lt;span class="na"&gt;token&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.RELEASE_PLEASE }}&lt;/span&gt;
&lt;span class="nn"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pour avoir un token valide il faut les droits suivants&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcqtn2rbw61borba6zgil.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcqtn2rbw61borba6zgil.png" alt="droit token github"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cela me permet donc d'avoir la github action suivante qui se déclenche sur génération de tag github:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Docker&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;*'&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# build stuff&lt;/span&gt;
&lt;span class="nn"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/bdronneau/memoriesbox/blob/cff8fad2e55da93e1b647196a4ea047b6c074640/.github/workflows/docker.yaml" rel="noopener noreferrer"&gt;Source&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Fashion formating
&lt;/h2&gt;

&lt;p&gt;On peut par la suite via la directive &lt;code&gt;changelog-types&lt;/code&gt; ajouter du shiny sur nos releases:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;...&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;google-github-actions/release-please-action@v3&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
&lt;span class="nn"&gt;...&lt;/span&gt;
          &lt;span class="na"&gt;changelog-types&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
            &lt;span class="s"&gt;[&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"feat","section":"🚀 Features","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"change","section":"🚀 Features","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"deprecate","section":"⚠️ Changes","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"remove","section":"⚠️ Changes","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"fix","section":"🐞 Bug Fixes","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"revert","section":"🐞 Bug Fixes","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"security","section":"🐞 Bug Fixes","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"perf","section":"✨ Polish","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"refactor","section":"✨ Polish","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"style","section":"✨ Polish","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"build","section":"🧰 Other","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"chore","section":"🧰 Other","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"deps","section":"🧰 Other","hidden":true},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"ci","section":"🧰 Other","hidden":true},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"test","section":"🧪 Tests","hidden":false},&lt;/span&gt;
              &lt;span class="s"&gt;{"type":"docs","section":"📚 Documentation","hidden":false}&lt;/span&gt;
            &lt;span class="s"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/google-github-actions/release-please-action/issues/686" rel="noopener noreferrer"&gt;Source&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Le rendu est le suivant&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2cm4y5n4zvbqw5co6aka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2cm4y5n4zvbqw5co6aka.png" alt="github release 1.3.0 shiny format"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Et voilà, on a des releases et des conteneurs automatiques, derrière cela s'intègre dans des mises à jour via &lt;a href="https://docs.github.com/en/code-security/dependabot/working-with-dependabot" rel="noopener noreferrer"&gt;dependabot&lt;/a&gt; ou &lt;a href="https://docs.renovatebot.com/" rel="noopener noreferrer"&gt;renovate&lt;/a&gt; ou dans l'&lt;a href="https://fluxcd.io/flux/guides/image-update/" rel="noopener noreferrer"&gt;image updater&lt;/a&gt; de &lt;a href="https://fluxcd.io/" rel="noopener noreferrer"&gt;fluxcd&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Notes
&lt;/h2&gt;

&lt;p&gt;Tous les &lt;code&gt;type&lt;/code&gt; commits ne déclenchent pas une release, par exemple si vous faite un commit de type &lt;code&gt;refactor&lt;/code&gt;, l'action n'ouvrira pas de pull request contrairement à &lt;code&gt;feat&lt;/code&gt; et &lt;code&gt;fix&lt;/code&gt; (&lt;a href="https://github.com/google-github-actions/release-please-action#how-should-i-write-my-commits" rel="noopener noreferrer"&gt;plus d'informations&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Credits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Cover image &lt;a href="https://unsplash.com/fr/photos/bE1cbMqqjhs" rel="noopener noreferrer"&gt;link&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>sre</category>
      <category>devops</category>
      <category>programming</category>
      <category>github</category>
    </item>
  </channel>
</rss>
