commit-status-updater icon indicating copy to clipboard operation
commit-status-updater copied to clipboard

Error: description doesn't accept 4-byte Unicode (e.g: a emoji like 🐛)

Open LeipeLeon opened this issue 1 year ago • 0 comments

When a commit has a emoji the push fails: description doesn't accept 4-byte Unicode

My guess would be that octokit does not handle emoji in the description e.g: await octokit.rest.repos.createCommitStatus({})

Configuration:

      - if: always()
        uses: ouzi-dev/commit-status-updater@v2
        with:
          name: CI Rails
          status: "${{ job.status }}"
          url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
          description: "${{ env.COMMIT_SHORT_SHA }} - ${{ env.COMMIT_MESSAGE }}"

Error transcript:

Run ouzi-dev/commit-status-updater@v2
  with:
    name: CI Rails
    status: success
    url: [REDACTED]
    description: d517328c - 🐛 nil:NilClass -> nil
    token: ***
    ignoreForks: true
    addHoldComment: false
    pendingComment: /hold
    successComment: /hold cancel
    failComment: /hold
  env:
    COMMIT_SHORT_SHA: d517328c
    COMMIT_MESSAGE: 🐛 nil:NilClass -> nil
    RUBY_VERSION: 3.3.0
Error: error while setting context status: Validation Failed: {"resource":"Status","code":"custom","field":"description","message":"description doesn't accept 4-byte Unicode"}

Workaround

Doesn't actually fix it but it won't hold up the action: add continue-on-error: true to the script:

      - if: always()
        uses: ouzi-dev/commit-status-updater@v2
        continue-on-error: true

H/T: https://github.com/simonw/til/blob/main/github-actions/continue-on-error.md

LeipeLeon avatar Dec 31 '23 18:12 LeipeLeon