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
release
n'est pas déclenché pourdraft
versionsdraft
.
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