Monday, September 12, 2022

Creating tag from github web UI

 Problem: I have Github Actions that automatically create a new release when certain tag is pushed. The only way to create tag from github web interface is to create a new release. The Actions[1] I'm using however failed with error message:-

Validation Failed: {"resource":"Release","code":"already_exists","field":"tag_name"}

If the tag was created from release.

We can create the tag using another Actions, there are a number of Actions that provide that. First I try using Github Script:-

name: "create-tag"

on:
  workflow_dispatch:
    inputs:
      tagname:
        description: 'Enter tag'
        required: true
        type: string
    
jobs:
  create_tag:
    name: "Create tag"
    runs-on: "ubuntu-latest"
    steps:
      - name: Create tag ${{ inputs.tagname }}
        uses: actions/github-script@v5
        with:
          script: |
            github.rest.git.createRef({
              owner: context.repo.owner,
              repo: context.repo.repo,
              ref: 'refs/tags/${{ inputs.tagname }}',
              sha: context.sha
            })

For some reason that doesn't trigger push event though. So I try rickstaa/action-create-tag@v1 but also it didn't trigger push event. This second event is just using plain `git push ...` to push the tag instead of using the REST API, so it's weird that it doesn't trigger the push event.


[1]: marvinpinto/action-automatic-releases@latest