Cet article parlera surement aux développeurs et développeuses d’extension WordPress qui publient sur le dépôt WordPress… et ceux qui n’y publient pas pour ne pas avoir à utiliser SVN.

En effet SVN est en quelque sorte l’ancêtre de GIT et de nos jours rare sont les développeurs qui ne sont pas passer à Git.

GitHub est un service hébergeant des dépôts GIT que les dev affectionnent particulièrement et très utilisé dans le monde Open-Source.

Il y a quelques semaines, GitHub a rendu public les Github actions.

OK mais qu’est ce que c’est Github actions?

En simple, c’est une solution permettant d’automatiser des taches lorsqu’une action intervient sur un dépôt ou une branche d’un dépôt (pull / push…)

C’est là que ça devient intéressant !

Auparavant, pour mon exemple personnel, je versionnais mon code sur GitHub puis je transférais a la main mes fichiers constituant mon extension WordPress sur le SVN de WordPress.org.

Ça fonctionne… mais c’est long et rébarbatif!

Merci Pierre Lannoye !

Pierre est un développeur WordPress français publiant une extension WordPress par jour… ou presque.

Il a créé une action permettant de publier sur le repo WordPress lorsque l’on push sur une branche d’un repo Git, un Tag particulier.

Ce tag sera repris sur le dépôt WordPress afin de publier la nouvelle version de votre travail.

On fait comment?

Je ne sais pas si c’est la manière de faire dans les règles de l’art comme on dit… mais c’est la manière que j’utilise… ce sera surement amélioré avec le temps, l’expérience, toussa toussa.

Dans mon projet, je crée un dossier .github notez le point devant puis un sous-dossier workflows.

Créé dans ce dernier dossier un fichier nommé `main.yml`:

name: Deploy SimpleWall to WordPress.org
on:
  push:
    tags:
      - "*"
jobs:
  tag:
    name: New Release
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - name: WordPress Plugin Deploy
        uses: Pierre-Lannoy/wordpress-actions/dotorg-plugin-deploy@master
        env:
          GITHUB_TOKEN: ${{ secrets.TOKEN_GH }}
          SLUG: simple-wall
          SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
          SVN_USERNAME: ${{ secrets.SVN_USERNAME }}

Committez, puis pushez ce fichier.

Paramétrage coté Github

Rendez-vous sur votre dépôt Github, dans l’onglet « Actions » vous devriez retrouver l’action créée plus tôt.

Github Actions

Nous avions utilisé une variable SVN_PASSWORD et une SVN_USERNAME correspondant aux identifiant SVN nécessaire pour publier sur le repo WordPress. Il va falloir les transmettre a Github pour qu’il puisse se connecter de façon sécurisée.

Rendez vous dans l’onglet « Settings »

Github Actions Settings

Cliquez sur « Add a new secret »

Github Actions Secret

Dans l’input « Name », saisissez le 1er nom de variable soit « SVN_PASSWORD » et le saisissez le mot de passe de votre compte wp.org dans le textarea « Value ».

Répétez en adaptant pour la variable correspondant à votre mot de passe.

Testez!

Si tout s’est bien passé, la prochaine fois que vous créerez et pusherez un tag Git, votre extension sera automatiquement publiée sur le dépôt Officiel WordPress.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *