Dans le paysage en constante évolution du développement logiciel, le maintien de la qualité et de la cohérence du code est crucial. L'un des moyens les plus efficaces de garantir que votre base de code reste propre et respecte les meilleures pratiques consiste à automatiser les processus de formatage et de peluchage. Dans cet article de blog, nous expliquerons la configuration d'un workflow GitHub Actions conçu pour automatiser le formatage et le peluchage du code pour les projets Python. Nous explorerons la configuration et les étapes impliquées, ainsi que la façon dont cela peut vous faire gagner du temps et réduire les erreurs dans votre code.
GitHub Actions est un outil puissant qui vous permet d'automatiser les flux de travail directement dans votre référentiel GitHub. De l'exécution de tests au déploiement d'applications, GitHub Actions peut gérer diverses tâches basées sur des événements tels que des push, des pull request, etc. Dans cet exemple, nous nous concentrerons sur l'automatisation du formatage et du linting du code à l'aide des actions GitHub.
Voici un aperçu détaillé du workflow GitHub Actions pour le formatage et le linting du code Python :
name: Format and Lint on: push: branches: - master pull_request: branches: - master jobs: format-and-lint: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.9' # Specify the Python version to use - name: Install dependencies run: | python -m pip install --upgrade pip pip install black isort autopep8 - name: Run Black run: black . - name: Run isort run: isort . - name: Run autopep8 run: autopep8 --in-place --recursive . - name: Commit changes if any env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | # Check for changes git diff --exit-code || { echo "Changes detected. Committing changes..." # Configure Git user git config --global user.name "github-actions" git config --global user.email "actions@github.com" # Stage all changes git add . # Commit changes git commit -m "Apply code formatting and linting fixes" # Push changes git push origin HEAD }
on: push: branches: - master pull_request: branches: - master
Le workflow est déclenché sur les requêtes push et pull vers la branche master. Cela garantit que chaque modification apportée à la branche principale ou à la demande d'extraction est automatiquement formatée et lissée.
jobs: format-and-lint: runs-on: ubuntu-latest
Le travail s'exécute sur la dernière version d'Ubuntu. C'est l'environnement dans lequel se produiront votre formatage et votre peluchage.
- name: Checkout code uses: actions/checkout@v3
Cette étape vérifie le code de votre référentiel, permettant aux étapes suivantes d'y accéder et de le modifier.
- name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.9'
Cette étape configure Python 3.9 dans l'environnement de workflow. Ajustez-le pour qu'il corresponde à la version Python utilisée dans votre projet.
- name: Install dependencies run: | python -m pip install --upgrade pip pip install black isort autopep8
Ici, les packages Python essentiels pour le formatage et le peluchage (black, isort et autopep8) sont installés.
- name: Run Black run: black . - name: Run isort run: isort . - name: Run autopep8 run: autopep8 --in-place --recursive .
Ces étapes appliquent le formatage du code en utilisant black, isort pour le tri des importations et autopep8 pour des ajustements de formatage supplémentaires.
- name: Commit changes if any env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git diff --exit-code || { echo "Changes detected. Committing changes..." git config --global user.name "github-actions" git config --global user.email "actions@github.com" git add . git commit -m "Apply code formatting and linting fixes" git push origin HEAD }
Si des modifications de formatage ou de peluchage sont apportées, cette étape les valide et les renvoie vers le référentiel. Il utilise un jeton GitHub pour l'authentification et configure Git avec un utilisateur générique pour les validations.
La mise en œuvre d'un workflow GitHub Actions pour le formatage et le peluchage est un moyen intelligent de maintenir la qualité et la cohérence du code dans vos projets. En automatisant ces processus, vous pouvez vous concentrer davantage sur l’écriture du code et moins sur les problèmes de formatage. Le flux de travail fourni ici constitue une base solide, mais vous pouvez le personnaliser davantage en fonction des besoins spécifiques de votre projet. Commencez dès aujourd'hui à intégrer ce workflow dans vos référentiels et découvrez les avantages de la gestion automatisée de la qualité du code !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!