Automated summary
Documents an end-to-end AudioBash release workflow covering version bumps, local macOS DMG builds, Git tags, GitHub releases, and Windows builds via GitHub Actions.
Strengths
- Provides a concrete step-by-step checklist with exact commands for each release stage.
- Covers both local macOS installer builds and Windows CI builds, including artifact download and upload.
- Includes AudioBash-specific file naming conventions and troubleshooting for electron-builder publish errors.
- Documents a complete worked example for v2.0.2, making the sequence easy to follow.
Limitations
- Heavily tied to AudioBash's repository layout, package scripts, and workflow file.
- Requires manual version edits in package.json and multiple docs/index.html locations, with a macOS-specific sed command.
- Assumes authenticated GitHub CLI and a macOS machine for local DMG builds; does not cover automated testing or rollback.
Use when preparing and publishing a new AudioBash release that needs macOS DMGs built locally and a Windows installer built through GitHub Actions.
Do not use for unrelated projects, non-Electron releases, or fully automated release pipelines that do not match this repository's manual tag-and-upload flow.
Security analysis
CautionThe skill documents a legitimate release process using powerful version control, GitHub, and build tools. It does not contain destructive, exfiltrating, or obfuscated commands, but executing these steps can affect remote repositories and run build scripts, so caution is appropriate.
- •Instructs use of `git push`, `git tag`, `gh release create/upload`, and `gh workflow run`, which modify remote repositories and create public releases.
- •Includes `npm run electron:build:mac:arm64` which executes build scripts and may run arbitrary code from package dependencies.
Examples
Release AudioBash v2.0.3: update the version in package.json and docs/index.html, build the macOS ARM64 and Intel DMGs, push the v2.0.3 tag, create the GitHub release, and trigger the Windows build workflow.Download the latest windows-builds artifact for AudioBash v2.0.2 and upload the installer to the existing GitHub release.The AudioBash release workflow fails with 'GitHub Personal Access Token is not set' from electron-builder; update the workflow to prevent auto-publish and rerun the Windows build.AudioBash Release Process Skill
This documents the complete process for releasing a new version of AudioBash for both Windows and macOS.
Prerequisites
- GitHub CLI (
gh) authenticated - Node.js and npm installed
- On macOS for local DMG builds
Release Checklist
1. Update Version Numbers
Update version in these locations:
package.json → "version": "X.X.X"
docs/index.html → 4 locations:
- Nav header (v2.0.X // VOICE_TERMINAL)
- Badge (vX.X.X — NOW ON macOS)
- Footer (AUDIOBASH vX.X.X // BUILD...)
- All download URLs (6 total for Windows + macOS)
Quick sed for docs/index.html URLs:
# Update all download URLs at once
sed -i '' 's/v2.0.0/v2.0.1/g; s/2.0.0/2.0.1/g' docs/index.html
2. Build macOS Installers Locally
npm run electron:build:mac:arm64
# Creates both ARM64 and x64 builds:
# - dist/AudioBash-X.X.X-arm64.dmg
# - dist/AudioBash-X.X.X.dmg (Intel)
3. Commit and Push
git add package.json docs/index.html [changed source files]
git commit -m "vX.X.X: Brief description"
git push origin master
4. Create and Push Tag
git tag vX.X.X
git push origin vX.X.X
5. Create GitHub Release with macOS Builds
gh release create vX.X.X \
--title "vX.X.X" \
--notes "Release notes here..." \
"dist/AudioBash-X.X.X-arm64.dmg" \
"dist/AudioBash-X.X.X.dmg"
6. Trigger Windows Build via GitHub Actions
gh workflow run build.yml --ref master \
-f build_mac=false \
-f build_windows=true \
-f build_linux=false
7. Download and Upload Windows Installer
# Wait for build to complete
gh run list --limit 1
# Download artifact
gh run download [RUN_ID] -n windows-builds -D /tmp/windows-builds
# Upload to release
gh release upload vX.X.X "/tmp/windows-builds/AudioBash Setup X.X.X.exe"
8. Update Release Notes
gh release edit vX.X.X --notes "Updated notes with all download links..."
File Naming Convention
| Platform | Filename Pattern |
|----------|------------------|
| Windows | AudioBash Setup X.X.X.exe |
| macOS ARM64 | AudioBash-X.X.X-arm64.dmg |
| macOS Intel | AudioBash-X.X.X.dmg |
GitHub Actions Workflow
The workflow (.github/workflows/build.yml) automatically:
- Builds on tag push (
v*) - Can be manually triggered via
workflow_dispatch - Uses
--publish neverto prevent electron-builder auto-publish conflicts
Complete Release Example (v2.0.2)
Here's the exact sequence used for releasing v2.0.2:
# 1. Build macOS installers locally
npm run electron:build:mac:arm64
# 2. Commit and push
git add -A
git commit -m "v2.0.2: Fix macOS spawn-helper permissions"
git push origin master
# 3. Create and push tag
git tag v2.0.2
git push origin v2.0.2
# 4. Create release with macOS DMGs
gh release create v2.0.2 --title "v2.0.2: macOS Stability" \
--notes "Release notes..." \
"dist/AudioBash-2.0.2-arm64.dmg" \
"dist/AudioBash-2.0.2.dmg"
# 5. Trigger Windows build
gh workflow run build.yml --ref master -f build_mac=false -f build_windows=true
# 6. Wait for build (check status)
gh run list --workflow=build.yml --limit 1
# Watch for status: completed, conclusion: success
# 7. Download Windows artifact
gh run download [RUN_ID] -n windows-builds -D /tmp/win-builds
# 8. Upload to release
gh release upload v2.0.2 "/tmp/win-builds/AudioBash Setup 2.0.2.exe"
# 9. Update release notes with Windows link
gh release edit v2.0.2 --notes "Updated notes..."
Troubleshooting
electron-builder auto-publish error
GitHub Personal Access Token is not set
Fix: Ensure --publish never is in all build commands in the workflow.
Cross-platform builds
- Windows builds require Windows runner (use GitHub Actions)
- macOS can build both ARM64 and x64 locally
- Linux builds are opt-in only in the workflow
Checking CI build status
# List recent runs
gh run list --workflow=build.yml --limit 3
# Get detailed status
gh run view [RUN_ID] --json status,conclusion,jobs
# Watch a run in real-time
gh run watch [RUN_ID]
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/audiobash-release-process-mrzxurbs/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/audiobash-release-process-mrzxurbs' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/audiobash-release-process-mrzxurbs/download' --output '.skill-downloads/audiobash-release-process-mrzxurbs/SKILL.md.part' && mv '.skill-downloads/audiobash-release-process-mrzxurbs/SKILL.md.part' '.skill-downloads/audiobash-release-process-mrzxurbs/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Original excerpt: Prerequisites
- GitHub CLI (
gh) authenticated - Node.js and npm installed
- On macOS for local DMG builds
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/audiobash-release-process-mrzxurbs/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Configure a Chat Channel with SecretRefs
DevOps
Set up chat channels using non-interactive commands, with secrets only as SecretRefs. Covers gather, mutate, repair, and prove steps for reliable delivery.
Investigate ClickHouse CI Failures
DevOps
Investigate a ClickHouse CI failure end-to-end from a PR or S3 report URL. Fetches failed tests, classifies flaky vs real regression, and checks for existing issues/fixes.
Ansible PR Review
DevOps
Reviews an Ansible PR following the project's standardized process, including changelog checks, test coverage validation, and feedback tracking.