From 97f79db3f115177da7d1c05a9a0c8483536fe483 Mon Sep 17 00:00:00 2001 From: yyc12345 Date: Sun, 4 Oct 2026 16:08:06 +0800 Subject: [PATCH] feat(packaging): add macOS bundle metadata, release packaging and application icon --- .gitattributes | 2 + .github/workflows/build.yml | 47 +++++++++++++-------- LICENSE | 21 ++++++++++ README.md | 11 ++++- YKanBan/Assets/avalonia-logo.ico | Bin 175875 -> 0 bytes YKanBan/Assets/ykanban.ico | Bin 0 -> 21665 bytes YKanBan/Views/MainWindow.axaml | 2 +- YKanBan/YKanBan.csproj | 1 + packaging/macos/Info.plist | 26 ++++++++++++ packaging/macos/ykanban.icns | Bin 0 -> 51700 bytes packaging/package.sh | 69 +++++++++++++++++++++++++++++++ 11 files changed, 160 insertions(+), 19 deletions(-) create mode 100644 .gitattributes create mode 100644 LICENSE delete mode 100644 YKanBan/Assets/avalonia-logo.ico create mode 100644 YKanBan/Assets/ykanban.ico create mode 100644 packaging/macos/Info.plist create mode 100644 packaging/macos/ykanban.icns create mode 100755 packaging/package.sh diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..781add5 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Shell scripts run under bash on every CI runner, including Windows checkouts with autocrlf. +*.sh text eol=lf diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ca37fec..dfbb05f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,20 +1,25 @@ +# Manual-only release build (PLAN §7.2): no push or pull_request trigger. +# Each RID job runs build -> test -> publish/pack -> upload; a failing step +# skips the rest of that job, so a RID whose tests fail produces no artifact. +# No GitHub Release is created. name: Build -# Manual trigger only. There is no push/pull_request trigger on purpose: -# the project must not depend on push-triggered CI. on: workflow_dispatch: -# Least privilege: the workflow only reads the repository and uploads artifacts. permissions: contents: read +env: + DOTNET_NOLOGO: "true" + DOTNET_CLI_TELEMETRY_OPTOUT: "true" + jobs: build: name: ${{ matrix.rid }} runs-on: ${{ matrix.os }} strategy: - # One failing RID must not cancel the others. + # Every RID stands on its own: one failure does not cancel the others. fail-fast: false matrix: include: @@ -22,35 +27,43 @@ jobs: os: windows-latest - rid: linux-x64 os: ubuntu-latest + - rid: osx-x64 + os: macos-15-intel - rid: osx-arm64 - os: macos-latest - + os: macos-15 + defaults: + run: + shell: bash steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup .NET + - name: Set up .NET uses: actions/setup-dotnet@v4 with: dotnet-version: 10.0.x - - name: Restore - run: dotnet restore YKanBan.slnx - - name: Build - run: dotnet build YKanBan.slnx -c Release --no-restore + run: dotnet build YKanBan.slnx -c Release - # A failing test fails the job, so the publish and upload steps below are - # skipped and this RID produces no artifact. - name: Test - run: dotnet test YKanBan.slnx -c Release --no-build --no-restore + run: dotnet test YKanBan.slnx -c Release --no-build - name: Publish - run: dotnet publish YKanBan/YKanBan.csproj -c Release -r ${{ matrix.rid }} --self-contained true -o publish/${{ matrix.rid }} + run: > + dotnet publish YKanBan/YKanBan.csproj -c Release -r ${{ matrix.rid }} + --self-contained -o publish/${{ matrix.rid }} + + - name: Pack + id: pack + run: | + version="$(dotnet msbuild YKanBan/YKanBan.csproj -getProperty:Version)" + bash packaging/package.sh ${{ matrix.rid }} publish/${{ matrix.rid }} dist "$version" + echo "name=YKanBan-$version-${{ matrix.rid }}" >> "$GITHUB_OUTPUT" - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: YKanBan-${{ matrix.rid }} - path: publish/${{ matrix.rid }} + name: ${{ steps.pack.outputs.name }} + path: dist/* if-no-files-found: error diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..51e014a --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 yyc12345 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 7ce16c5..ce9b71e 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,20 @@ A personal, local/offline kanban board. Cross-platform desktop app built with Av See [USAGE.md](USAGE.md) for workspaces, backups, the search syntax and command-line usage. -## Build and test +## Building + +Requires the .NET 10 SDK. ``` dotnet build YKanBan.slnx dotnet test YKanBan.slnx +dotnet run --project YKanBan -- ``` Packages are pinned in `YKanBan/YKanBan.csproj`. + +Release archives for win-x64, linux-x64, osx-x64 and osx-arm64 are produced by the manually triggered workflow in `.github/workflows/build.yml`; `packaging/package.sh` packs one published RID. + +## License + +MIT — see [LICENSE](LICENSE). diff --git a/YKanBan/Assets/avalonia-logo.ico b/YKanBan/Assets/avalonia-logo.ico deleted file mode 100644 index f7da8bb5863b7cecec2adcdebd948fe2f9418d0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175875 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 literal 0 HcmV?d00001 diff --git a/YKanBan/Views/MainWindow.axaml b/YKanBan/Views/MainWindow.axaml index 36f5995..5b380ad 100644 --- a/YKanBan/Views/MainWindow.axaml +++ b/YKanBan/Views/MainWindow.axaml @@ -6,7 +6,7 @@ mc:Ignorable="d" d:DesignWidth="1000" d:DesignHeight="640" x:Class="YKanBan.Views.MainWindow" x:DataType="vm:MainWindowViewModel" - Icon="/Assets/avalonia-logo.ico" + Icon="/Assets/ykanban.ico" Title="{Binding Title}" Width="1000" Height="640" MinWidth="720" MinHeight="480"> diff --git a/YKanBan/YKanBan.csproj b/YKanBan/YKanBan.csproj index a8f9181..202d87e 100644 --- a/YKanBan/YKanBan.csproj +++ b/YKanBan/YKanBan.csproj @@ -7,6 +7,7 @@ enable true app.manifest + Assets\ykanban.ico true diff --git a/packaging/macos/Info.plist b/packaging/macos/Info.plist new file mode 100644 index 0000000..4a2962d --- /dev/null +++ b/packaging/macos/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleName + YKanBan + CFBundleDisplayName + YKanBan + CFBundleIdentifier + cn.blumia.code.yyc12345.ykanban + CFBundleIconFile + ykanban.icns + CFBundleExecutable + YKanBan + CFBundlePackageType + APPL + CFBundleShortVersionString + @VERSION@ + CFBundleVersion + @VERSION@ + CFBundleInfoDictionaryVersion + 6.0 + NSHighResolutionCapable + + + diff --git a/packaging/macos/ykanban.icns b/packaging/macos/ykanban.icns new file mode 100644 index 0000000000000000000000000000000000000000..6982ff90cc852c6680f3d69a8c25b8ade6399967 GIT binary patch literal 51700 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 I1IN(+2Ntub@c;k- literal 0 HcmV?d00001 diff --git a/packaging/package.sh b/packaging/package.sh new file mode 100755 index 0000000..5044319 --- /dev/null +++ b/packaging/package.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash +# Packs one published RID into a release archive. +# +# packaging/package.sh +# +# win-x64 -> YKanBan--win-x64.zip (folder YKanBan--win-x64/) +# linux-x64 -> YKanBan--linux-x64.tar.gz (folder YKanBan--linux-x64/) +# osx-* -> YKanBan--.tar.gz (YKanBan.app bundle, ad-hoc signed when possible) +# +# tar.gz keeps the executable bit, which a plain zip artifact upload would lose. +set -euo pipefail + +if [ "$#" -ne 4 ]; then + echo "usage: $0 " >&2 + exit 2 +fi + +rid="$1" +publish_dir="$(cd "$2" && pwd)" +mkdir -p "$3" +output_dir="$(cd "$3" && pwd)" +version="$4" +script_dir="$(cd "$(dirname "$0")" && pwd)" +name="YKanBan-${version}-${rid}" +staging="$(mktemp -d)" +trap 'rm -rf "$staging"' EXIT + +case "$rid" in + win-*) + cp -R "$publish_dir" "$staging/$name" + rm -f "$output_dir/$name.zip" + # 7-Zip ships on the Windows runners and writes '/' entry separators; + # Windows PowerShell 5.1's Compress-Archive writes '\', which breaks + # extraction outside Windows. + if ! command -v 7z > /dev/null 2>&1; then + echo "7z not found" >&2 + exit 1 + fi + (cd "$staging" && 7z a -tzip -bso0 -bsp0 "$output_dir/$name.zip" "$name") + ;; + linux-*) + cp -R "$publish_dir" "$staging/$name" + chmod +x "$staging/$name/YKanBan" + tar -C "$staging" -czf "$output_dir/$name.tar.gz" "$name" + ;; + osx-*) + app="$staging/YKanBan.app" + mkdir -p "$app/Contents/MacOS" "$app/Contents/Resources" + cp -R "$publish_dir/." "$app/Contents/MacOS/" + cp "$script_dir/macos/ykanban.icns" "$app/Contents/Resources/" + chmod +x "$app/Contents/MacOS/YKanBan" + sed "s/@VERSION@/${version}/g" "$script_dir/macos/Info.plist" > "$app/Contents/Info.plist" + if command -v codesign > /dev/null 2>&1; then + # Ad-hoc signature for the bundle. Not fatal: the SDK already ad-hoc + # signs the apphost, which is all arm64 needs to run, and --deep may + # trip over the non-Mach-O files in Contents/MacOS. + if ! codesign --force --deep --sign - "$app"; then + echo "warning: ad-hoc signing of YKanBan.app failed; packing it unsigned" >&2 + fi + fi + tar -C "$staging" -czf "$output_dir/$name.tar.gz" YKanBan.app + ;; + *) + echo "unsupported RID: $rid" >&2 + exit 2 + ;; +esac + +echo "packed $rid -> $output_dir"