Accélérer le temps de build dans Github Actions pour un programme Rust

Rust est un langage génial, mais il est connu pour ses temps de build assez lents. Sur des programmes assez complexes, cela peut devenir rapidement problématique pour votre workflow d'intégration continue.

Heureusement, GithHub propose un système de cache qui permet de sauvegarder tout les artefacts indispensables pour accélérer vos temps de compilation entre chaque workflow. Il vous suffit d'ajouter les lignes suivantes dans votre job pour que cela soit géré automatiquement :

    - uses: actions/cache@v3
      with:
        path: |
          ~/.cargo/bin/
          ~/.cargo/registry/index/
          ~/.cargo/registry/cache/
          ~/.cargo/git/db/
          target/
        key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

Tant que vous ne changerez pas les dépendances de votre package (la clé du cache est basée sur un hash du Cargo.lock), GitHub se basera sur le cache qui aura été précédemment généré, vous faisant gagner un temps précieux !