Skip to content
This repository was archived by the owner on Feb 15, 2026. It is now read-only.

feat: improve diff UX and add Homebrew tap distribution #5

feat: improve diff UX and add Homebrew tap distribution

feat: improve diff UX and add Homebrew tap distribution #5

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
permissions:
contents: write
id-token: write
jobs:
release:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Import macOS Certificate
env:
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
run: |
echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
security import certificate.p12 -k build.keychain \
-P "$MACOS_CERTIFICATE_PASSWORD" \
-T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple: \
-s -k "$KEYCHAIN_PASSWORD" build.keychain
security find-identity -v -p codesigning build.keychain
rm certificate.p12
- name: Setup notarization credentials
env:
AC_KEY: ${{ secrets.AC_KEY }}
run: |
mkdir -p ~/private_keys
echo "$AC_KEY" > ~/private_keys/AuthKey_${{ secrets.AC_KEY_ID }}.p8
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
version: latest
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MACOS_SIGNING_IDENTITY: ${{ secrets.MACOS_SIGNING_IDENTITY }}
AC_KEY_ID: ${{ secrets.AC_KEY_ID }}
AC_ISSUER_ID: ${{ secrets.AC_ISSUER_ID }}
HOMEBREW_TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }}
publish-npm:
needs: release
runs-on: ubuntu-latest
environment: npm
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
registry-url: "https://registry.npmjs.org"
- name: Update npm for OIDC support
run: npm install -g npm@latest
- name: Update package version
working-directory: npm
run: |
VERSION="${GITHUB_REF_NAME#v}"
echo "Publishing version $VERSION"
npm version "$VERSION" --no-git-tag-version --allow-same-version
- name: Publish to npm
working-directory: npm
run: npm publish --access public --provenance