21

I have created a Github repo that has got an action to build the npm package and publish it to npmjs.com. The trigger for my action is the creation of a new release in Github. When creating the new release, Github is asking me for a version number. I would love to use this version number in the Action and provide it to the yarn publish command.

My ci-file looks like this (i stripped some parts that are not important here):

name: Deploy npm package

on:
  release:
    types: [created]

jobs:
  publish-npm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: https://registry.npmjs.org/
      - run: yarn install
      - run: yarn build
      - run: yarn publish --new-version ${...}
        env:a
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}

Is there an environmental variable that contains the version number from the release?

Woozar
  • 1,000
  • 2
  • 11
  • 35

2 Answers2

51

It should be ${{ github.event.release.tag_name }}. The structure of a release can be found here: https://developer.github.com/v3/repos/releases/#get-a-single-release

I'd also suggest to use

on:
  release:
    types: [published]

instead of created to avoid putting something to npm for draft releases. See: https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#release-event-release

Hint:

To debug the event you can use:

jobs:
  debug:
    name: Debug
    runs-on: ubuntu-latest
    steps:
      - name: Dump env
        run: env | sort
      - name: Dump GitHub context
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
        run: echo "$GITHUB_CONTEXT"
scthi
  • 2,205
  • 1
  • 18
  • 14
17

You can get tag version using ${{ github.event.release.tag_name }}.

colidyre
  • 4,170
  • 12
  • 37
  • 53
milind
  • 171
  • 1
  • 2
  • Here's the reference with all information you can get from the webhooks that trigger GH Actions: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push – marcelosalloum Sep 15 '22 at 22:21