comme les versions de Github sont en fait des balises Git , je souhaite mettre à jour automatiquement ma version package.json lorsqu'il y a une nouvelle version (et une nouvelle balise), avec Github Action .
Je sais que j'ai besoin de déclencher une job on: release , mais selon la documentation Github Actions, je ne sais pas si je dois déclencher une fois created , published , les deux ou tous?
Github dit:
Remarque: l' événement de
releasen'est pas déclenché pourdraftversionsdraft.
Et j'ai créé deux pipelines: un on: release, type: created et un on: release, type: published .
Ensuite, j'ai créé un draft version, puis je l'ai publié .
Seul le pipeline published déclenché, et c'est à ce moment-là que j'ai publié la version.
3 Réponses :
Une version peut être créée mais pas publiée. C'est le cas des versions préliminaires .
Je suggérerais d'aller avec le type de version published .
Voir le lien dans ma question. Github dit " Remarque: l' événement de release n'est pas déclenché pour draft versions draft ". Mais je vais vérifier cela.
Mon expérience a été le contraire de ce qui a été décrit ici sur le forum . Lors du test:
/releases , les deux événements se déclenchent, car la version passe de l'état «brouillon» à «publié».release-it , en contournant l'étape "brouillon" et en devenant directement "publiée", seule release:published déclenchera Donc, apparemment, une version peut être publiée sans être créée. Bizarre en effet. J'irais avec published .
Si vous essayez de capturer la création et la publication d'une version déclenchée à partir d'une action Github dans un autre flux de travail, cela ne fonctionnera pas.
La solution consiste à unifier les deux flux de travail en un seul afin qu'une fois la version créée, le flux de travail suivant se poursuive.
Source: https://twitter.com/ethomson/status/1183838077166477316
Exemple:
name: Create Release and Publish
# Trigger the create release workflow
on:
push:
tags:
- 'v*'
jobs:
release:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
publish-gpr:
needs: release # After release is created then run the second workflow
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 10
registry-url: https://npm.pkg.github.com/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
Merci! Ce n'est pas la réponse mais c'était l'un de mes problèmes
Forum de la communauté Github