ci: name binary 'pi' inside archives for easier use

This commit is contained in:
Mario Zechner 2025-12-02 12:29:35 +01:00
parent 7cf3baebed
commit a508195612

View file

@ -46,52 +46,48 @@ jobs:
run: | run: |
cd packages/coding-agent cd packages/coding-agent
# Create output directory # Create output directories for each platform
mkdir -p binaries mkdir -p binaries/{darwin-arm64,darwin-x64,linux-x64,linux-arm64,windows-x64}
# Build for each platform # Build for each platform - binary is always named 'pi' (or 'pi.exe' for Windows)
declare -a targets=( echo "Building for darwin-arm64..."
"bun-darwin-arm64:pi-darwin-arm64" bun build --compile --target=bun-darwin-arm64 ./dist/cli.js --outfile binaries/darwin-arm64/pi
"bun-darwin-x64:pi-darwin-x64"
"bun-linux-x64:pi-linux-x64" echo "Building for darwin-x64..."
"bun-linux-arm64:pi-linux-arm64" bun build --compile --target=bun-darwin-x64 ./dist/cli.js --outfile binaries/darwin-x64/pi
"bun-windows-x64:pi-windows-x64.exe"
) echo "Building for linux-x64..."
bun build --compile --target=bun-linux-x64 ./dist/cli.js --outfile binaries/linux-x64/pi
for target_pair in "${targets[@]}"; do
IFS=':' read -r target outfile <<< "$target_pair" echo "Building for linux-arm64..."
echo "Building for $target..." bun build --compile --target=bun-linux-arm64 ./dist/cli.js --outfile binaries/linux-arm64/pi
bun build --compile --target="$target" ./dist/cli.js --outfile "binaries/$outfile"
done echo "Building for windows-x64..."
bun build --compile --target=bun-windows-x64 ./dist/cli.js --outfile binaries/windows-x64/pi.exe
- name: Create release archives - name: Create release archives
run: | run: |
cd packages/coding-agent cd packages/coding-agent
# Files to include with each binary # Copy shared files to each platform directory
cp package.json binaries/ for platform in darwin-arm64 darwin-x64 linux-x64 linux-arm64 windows-x64; do
cp README.md binaries/ cp package.json binaries/$platform/
cp CHANGELOG.md binaries/ cp README.md binaries/$platform/
mkdir -p binaries/theme cp CHANGELOG.md binaries/$platform/
cp dist/theme/*.json binaries/theme/ mkdir -p binaries/$platform/theme
cp dist/theme/*.json binaries/$platform/theme/
done
# Create archives for each platform # Create archives
cd binaries cd binaries
# macOS arm64 # Unix platforms (tar.gz)
tar -czf pi-darwin-arm64.tar.gz pi-darwin-arm64 package.json README.md CHANGELOG.md theme/ for platform in darwin-arm64 darwin-x64 linux-x64 linux-arm64; do
tar -czf pi-$platform.tar.gz -C $platform .
done
# macOS x64 # Windows (zip)
tar -czf pi-darwin-x64.tar.gz pi-darwin-x64 package.json README.md CHANGELOG.md theme/ cd windows-x64 && zip -r ../pi-windows-x64.zip . && cd ..
# Linux x64
tar -czf pi-linux-x64.tar.gz pi-linux-x64 package.json README.md CHANGELOG.md theme/
# Linux arm64
tar -czf pi-linux-arm64.tar.gz pi-linux-arm64 package.json README.md CHANGELOG.md theme/
# Windows x64 (zip)
zip -r pi-windows-x64.zip pi-windows-x64.exe package.json README.md CHANGELOG.md theme/
- name: Extract changelog for this version - name: Extract changelog for this version
id: changelog id: changelog