Skip to content

fix(packager): avoid crashing on invalid utf8 from shell commands #72

fix(packager): avoid crashing on invalid utf8 from shell commands

fix(packager): avoid crashing on invalid utf8 from shell commands #72

name: Covector Version or Publish
on:
push:
branches:
- main
jobs:
version-or-publish:
if: ${{ !startsWith(github.head_ref, 'renovate/') }}
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
timeout-minutes: 65
outputs:
change: ${{ steps.covector.outputs.change }}
commandRan: ${{ steps.covector.outputs.commandRan }}
successfulPublish: ${{ steps.covector.outputs.successfulPublish }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: cargo login
run: cargo login ${{ secrets.CRATES_IO_TOKEN }}
- name: git config
run: |
git config --global user.name "${{ github.event.pusher.name }}"
git config --global user.email "${{ github.event.pusher.email }}"
- name: covector version or publish (publish when no change files present)
uses: jbolda/covector/packages/action@covector-v0
id: covector
with:
token: ${{ secrets.GITHUB_TOKEN }}
command: "version-or-publish"
createRelease: true
- name: Create Pull Request With Versions Bumped
if: steps.covector.outputs.commandRan == 'version'
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5.0.2
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: release/version-updates
title: "release: apply version updates from current changes"
commit-message: "release: apply version updates from current changes"
labels: "version updates"
body: ${{ steps.covector.outputs.change }}
- name: Get `@crabnebula/packager` release id
uses: actions/github-script@v7
id: cliReleaseId
if: |
steps.covector.outputs.successfulPublish == 'true' &&
contains(steps.covector.outputs.packagesPublished, '@crabnebula/packager')
with:
result-encoding: string
script: |
const output = `${{ toJSON(steps.covector.outputs) }}`;
const [_, id] = /"-crabnebula-packager-releaseId": "([0-9]+)"/g.exec(output);
return id;
- name: Trigger `@crabnebula/packager` publishing workflow
if: |
steps.covector.outputs.successfulPublish == 'true' &&
contains(steps.covector.outputs.packagesPublished, '@crabnebula/packager')
uses: peter-evans/repository-dispatch@v2
with:
event-type: publish-packager-nodejs
client-payload: '{"releaseId": "${{ steps.cliReleaseId.outputs.result }}" }'
- name: Get `@crabnebula/updater` release id
uses: actions/github-script@v7
id: updaterReleaseId
if: |
steps.covector.outputs.successfulPublish == 'true' &&
contains(steps.covector.outputs.packagesPublished, '@crabnebula/updater')
with:
result-encoding: string
script: |
const output = `${{ toJSON(steps.covector.outputs) }}`;
const [_, id] = /"-crabnebula-updater-releaseId": "([0-9]+)"/g.exec(output);
return id;
- name: Trigger `@crabnebula/updater` publishing workflow
if: |
steps.covector.outputs.successfulPublish == 'true' &&
contains(steps.covector.outputs.packagesPublished, '@crabnebula/updater')
uses: peter-evans/repository-dispatch@v2
with:
event-type: publish-updater-nodejs
client-payload: '{"releaseId": "${{ steps.updaterReleaseId.outputs.result }}" }'