- Remove mkdocs files (requirements.txt, CNAME) - Add CLI documentation: build.md, release.md, php.md, run.md - Add configuration.md with full reference - Add examples/ directory with sample configurations: - go-cli-release.yaml - wails-desktop-release.yaml - php-laravel-release.yaml - linuxkit-server.yml - linuxkit-docker-format.yml - full-release.yaml - minimal-release.yaml - official-repos.yaml - Flatten existing framework docs into framework/ - Update index.md as CLI entry point Ready for VitePress integration with core-php/docs. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
core release
Build and publish releases to GitHub, npm, Homebrew, Scoop, AUR, Chocolatey, Docker, and LinuxKit.
Usage
core release [flags]
Flags
| Flag | Description |
|---|---|
--dry-run |
Preview what would be published |
--version |
Override version (default: git tag) |
--skip-build |
Skip build, use existing artifacts |
Quick Start
# Initialize release config
core release init
# Preview release
core release --dry-run
# Release
core release
Publishers
GitHub Releases
Uploads artifacts and changelog to GitHub Releases.
publishers:
- type: github
prerelease: false
draft: false
npm
Publishes binary wrapper that downloads correct platform binary.
publishers:
- type: npm
package: "@myorg/myapp"
access: public
Requires NPM_TOKEN environment variable.
Homebrew
Generates formula and commits to tap repository.
publishers:
- type: homebrew
tap: myorg/homebrew-tap
formula: myapp # optional, defaults to project name
For official Homebrew PR:
publishers:
- type: homebrew
tap: myorg/homebrew-tap
official:
enabled: true
output: dist/homebrew
Scoop
Generates manifest and commits to bucket repository.
publishers:
- type: scoop
bucket: myorg/scoop-bucket
AUR
Generates PKGBUILD and pushes to AUR.
publishers:
- type: aur
maintainer: "Your Name <email@example.com>"
Chocolatey
Generates NuSpec and optionally pushes to Chocolatey.
publishers:
- type: chocolatey
push: false # generate only
Set push: true and CHOCOLATEY_API_KEY to publish.
Docker
Builds and pushes multi-arch Docker images.
publishers:
- type: docker
registry: ghcr.io
image: myorg/myapp
platforms:
- linux/amd64
- linux/arm64
tags:
- latest
- "{{.Version}}"
LinuxKit
Builds immutable LinuxKit images.
publishers:
- type: linuxkit
config: .core/linuxkit/server.yml
formats:
- iso
- qcow2
- docker # Immutable container
platforms:
- linux/amd64
- linux/arm64
Full Example
See examples/full-release.yaml for a complete configuration.
Changelog
Changelog is auto-generated from conventional commits:
feat: Add new feature → Features
fix: Fix bug → Bug Fixes
perf: Improve performance → Performance
refactor: Refactor code → Refactoring
Configure in .core/release.yaml:
changelog:
include:
- feat
- fix
- perf
exclude:
- chore
- docs
- test