Skip to main content
skill CX Codex

github-actions · tddworks — Claude Code skill: CI/CD and install

This skill handles ClaudeBar’s GitHub Actions builds, tests, and releases. Use it to configure CI secrets, publish tagged or manual releases, and investigate failures.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add tddworks/ClaudeBar --skill github-actions -a claude-code
Open on GitHub

What github-actions does

The skill covers the workflows in .github/workflows/. build.yml checks debug and release builds, tests.yml runs unit tests and uploads coverage to Codecov, and windows.yml builds and tests Quotas with Swift on Windows. release.yml handles macOS releases started by a v* tag or a manual dispatch.

The release path validates the version, edits Info.plist, runs tuist, archives with xcodebuild, signs the app, submits it for notarization, and creates signed ZIP and DMG files with SHA256 checksums. It then publishes a GitHub Release and a Sparkle appcast. Beta tags add the beta channel and require Beta Updates to be enabled. Required secrets cover Apple signing, App Store Connect notarization, Sparkle updates, and Codecov.

A release cannot pass signing and notarization without APPLE_CERTIFICATE_P12, APPLE_CERTIFICATE_PASSWORD, and the App Store Connect keys. Manual dispatch with debug: true prints certificate and keychain details, giving you concrete clues when a release breaks.

What it helps with

  • configure GitHub Actions secrets for signing and notarization
  • run build and test checks on pushes or pull requests
  • publish a release from a v* tag or manual dispatch
  • trace signing, notarization, or appcast failures
  • separate Sparkle beta updates from stable releases

Example prompts for the agent

  • Set up the GitHub Actions secrets for a ClaudeBar release and explain what each one is used for.
  • Create version 1.2.0-beta.1 from a tag and verify how the Sparkle beta channel is published.
  • Investigate why release.yml failed after notarization and tell me what debug: true will show.

How to install github-actions

1Skills CLI (Vercel)

npx skills add tddworks/ClaudeBar --skill github-actions -a claude-code

2Manually: put the files in place

~/.claude/skills/github-actions/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/github-actions/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about github-actions

How do I install github-actions in Claude Code?

Run npx skills add tddworks/ClaudeBar --skill github-actions -a claude-code, then check ~/.claude/skills/github-actions/SKILL.md.

What does github-actions do?

It guides Claude Code through ClaudeBar’s build, test, and release workflows, including CI secrets, tagged or manual releases, Sparkle channels, and failure diagnosis.

Which secrets are needed for a release?

Signing requires APPLE_CERTIFICATE_P12 and APPLE_CERTIFICATE_PASSWORD. Notarization uses APP_STORE_CONNECT_API_KEY_P8, APP_STORE_CONNECT_KEY_ID, and APP_STORE_CONNECT_ISSUER_ID; Sparkle updates use SPARKLE_EDDSA_PRIVATE_KEY.

Source text

SKILL.md · Apache-2.0
---
name: github-actions
description: |
  Manage ClaudeBar's GitHub Actions CI/CD pipelines: build, test, and release workflows.
  Use this skill when:
  (1) Setting up secrets for CI/CD (certificate, API key, Sparkle key, Codecov)
  (2) Creating a new release — tag-based or manual workflow_dispatch
  (3) Triggering or explaining the build.yml, tests.yml, or release.yml workflows
  (4) Debugging release failures (signing, notarization, appcast)
  (5) Managing beta vs stable channels for Sparkle auto-updates
  (6) User says "release a new version", "push a tag", "set up CI secrets", "why did the release fail"
---

# ClaudeBar GitHub Actions

Three workflows live in `.github/workflows/`. See reference files for setup and troubleshooting.

## Workflows at a Glance

| Workflow | Trigger | Runner | Purpose |
|----------|---------|--------|---------|
| `build.yml` | push/PR to main, develop | macos-15 | Debug + release build verification |
| `tests.yml` | push/PR to main, develop | macos-26 | Unit tests + Codecov coverage upload |
| `windows.yml` | push/PR to main, develop | windows-latest | Builds and tests `Quotas` with Swift on Windows (MODULAR_DESIGN §10, phase 0) |
| `release.yml` | `v*` tag push OR manual | macos-15 | Sign → notarize → DMG → GitHub release → appcast |

## Create a Release

**Option A — Tag (recommended):**

```bash
# 1. Update CHANGELOG.md with release notes for this version
# 2. Commit and push
git add CHANGELOG.md
git commit -m "docs: add release notes for v1.2.0"
git push origin main

# 3. Tag and push — this triggers release.yml automatically
git tag v1.2.0 && git push origin v1.2.0

# Beta / pre-release (automatically flagged on GitHub)
git tag v1.2.0-beta.1 && git push origin v1.2.0-beta.1
```

**Option B — Manual dispatch:**

1. Go to **Actions → Release → Run workflow**
2. Enter version (e.g. `1.2.0` or `1.2.0-beta.1`)
3. Optionally toggle `publish_appcast` and `debug`

**Supported version formats:** `X.Y.Z`, `X.Y.Z-beta`, `X.Y.Z-beta.N`, `X.Y.Z-alpha.N`, `X.Y.Z-rc.N`

## Secrets Required

| Secret | Required For | See |
|--------|-------------|-----|
| `APPLE_CERTIFICATE_P12` | Code signing | [secrets-setup.md](references/secrets-setup.md) |
| `APPLE_CERTIFICATE_PASSWORD` | Code signing | [secrets-setup.md](references/secrets-setup.md) |
| `APP_STORE_CONNECT_API_KEY_P8` | Notarization | [secrets-setup.md](references/secrets-setup.md) |
| `APP_STORE_CONNECT_KEY_ID` | Notarization | [secrets-setup.md](references/secrets-setup.md) |
| `APP_STORE_CONNECT_ISSUER_ID` | Notarization | [secrets-setup.md](references/secrets-setup.md) |
| `SPARKLE_EDDSA_PRIVATE_KEY` | In-app auto-updates | [secrets-setup.md](references/secrets-setup.md) |
| `CODECOV_TOKEN` | Coverage upload | [secrets-setup.md](references/secrets-setup.md) |
| `APP_IDENTITY` | Optional signing override | [secrets-setup.md](references/secrets-setup.md) |

## What the Release Pipeline Does

```
git tag v1.2.0
      │
      ▼
release.yml
  1. Extract + validate version (SemVer)
  2. Update Info.plist (CFBundleShortVersionString + CFBundleVersion = run_number)
  3. tuist install → tuist generate
  4. xcodebuild archive (arm64 + x86_64, unsigned)
  5. Import Developer ID cert into temp keychain
  6. codesign with entitlements
  7. notarytool submit + staple
  8. Create ZIP + DMG (signed), SHA256 checksums
  9. Extract release notes from CHANGELOG.md
 10. Publish GitHub Release (draft: false)
 11. Generate Sparkle appcast with EdDSA signature
 12. Deploy appcast to GitHub Pages
```

## Debugging Failures

Enable verbose output via **manual dispatch → debug: true**. This prints:
- P12 certificate details and contents
- All identities in the signing keychain
- Certificate subject and expiry dates

For detailed troubleshooting: [release-workflow.md → Troubleshooting](references/release-workflow.md#troubleshooting)

## Beta Channel

Pre-release tags (`v1.2.0-beta.1`) automatically:
- Set GitHub release as `prerelease: true`
- Add `<sparkle:channel>beta</sparkle:channel>` to the appcast entry
- Are only offered to users with **Beta Updates** enabled in Settings

Stable releases always win over betas of the same version (stable gets higher build number).

See [release-workflow.md](references/release-workflow.md) for the full beta channel matrix.

© tddworks · Apache-2.0 · tddworks/ClaudeBar

Similar skills

All skills for DevOps and infrastructure →

github-actions by other authors comes first.

github-actions callstackincubator Reusable GitHub Actions patterns to build React Native apps for iOS simulators and Android emulators in the cloud and download artifacts. Simplifies CI pipeline setup and scripted retrieval via gh CLI or REST API. CX Codex +1 10,900installs github-actions devops-skills A skill that gets your agent writing GitHub Actions workflows: builds, tests, deploys, secrets, caching and self-hosted runners. CX Codex +1 388installs github-actions bobmatnyc A reference skill for GitHub Actions CI/CD workflows. Helps configure automated builds, test pipelines, and deployments in repository YAML files. CX Codex +1 758installs github-actions tartinerlabs Writes and audits GitHub Actions workflows: pins actions to SHAs, tightens permissions, catches stale Node versions. CX Codex +1 403installs github-actions wendylabsinc A skill that steers the agent through GitHub Actions authoring: vendor actions over shell scripts, verified versions, minimal job permissions. CX Codex +1 ★ 62repo stars wizard Matt Pocock This skill creates an interactive bash wizard for manual setup steps, CI secrets, third-party dashboards, and one-off migrations. 553,369installs hyperframes-cli heygen-com Controls HyperFrames video workflows from the CLI: audits layouts and contrast, edits timeline clips, captures snapshots, and renders locally or in cloud runtimes. CX Codex +1 1,300,000installs setup-pre-commit Matt Pocock This skill configures pre-commit checks for a JavaScript repository, running Prettier, type checking, and tests before each commit. 489,289installs using-git-worktrees Jesse Vincent Prepares an isolated workspace before feature work or plan execution. It checks the repository first, then uses native worktree support or Git. CX Codex 217,153installs finishing-a-development-branch Jesse Vincent This skill checks the test suite and guides branch completion: merge locally, open a Pull Request, or leave the work in place. CX Codex 214,439installs orca-cli stablyai The skill lets an agent manage Orca worktrees, terminals, artifacts and the built-in browser through the orca CLI. Useful when your work already runs inside Orca. CX Codex +1 354,000installs

From the same set4

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor