Skip to content

Add CI/CD workflows, cross-platform porting docs, and new app icon#1

Merged
kiyarose merged 46 commits intomainfrom
copilot/update-app-icon-and-cicd-workflows
Mar 30, 2026
Merged

Add CI/CD workflows, cross-platform porting docs, and new app icon#1
kiyarose merged 46 commits intomainfrom
copilot/update-app-icon-and-cicd-workflows

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 29, 2026

  • Inspect current Tauri icon/config relevant to macOS bundling
  • Attempt local Tauri build to reproduce macOS bundling error (Linux build blocked earlier by missing webkit2gtk/javascriptcore 4.0 libs)
  • Capture/compare error details with CI logs (local stops before icon bundling; CI failure is macOS icon creation)
  • Summarize findings and next steps
Original prompt

Overview

Update the PinStick app with a new icon design, establish comprehensive CI/CD workflows for prerelease and release builds, and document the cross-platform porting strategy for Windows and Linux support with ARM compatibility.

Tasks

1. Update App Icon

Replace the current app icon with the new design provided. The new icon features:

  • Yellow gradient background with pinboard pattern
  • Blue pushpin in the center
  • White horizontal lines representing notes

image1

2. Add CI/CD Workflows

Prerelease Workflow (.github/workflows/prerelease.yml)

Triggered when a PR is marked as ready for review:

  • Extract version from Xcode project
  • Build only the changed platforms (iOS and/or macOS)
  • Create a prerelease with build artifacts
  • Similar to the Flean prerelease workflow but adapted for PinStick

Release Workflow (.github/workflows/build-and-release.yml)

Triggered on push to main:

  • Check if version tag already exists
  • Build both iOS and macOS apps
  • Create git tag for the version
  • Publish full release with build artifacts
  • Based on the Flean release workflow structure

Reference workflows from SillyLittleTech/Flean:

3. Cross-Platform Porting Documentation

Create or update .github/copilot-instructions.md with:

Branch Strategy

  • Maintain main branch for stable macOS app with ARM support
  • Create cross-platform-dev branch for Windows/Linux porting work
  • Keep architectural separation while enabling gradual migration

ARM Support Preparation

  • Document steps to update from x64 to ARM-native in current Swift codebase
  • Xcode build settings for Apple Silicon support
  • Testing recommendations

Windows/Linux Porting Strategy

  • Overview of cross-platform framework options (Qt, Tauri, Flutter, .NET MAUI)
  • GitHub Actions CI/CD for automated cross-platform builds
  • Testing approach without local VMs using:
    • GitHub Actions hosted runners (Windows, Linux, macOS)
    • Docker containers for lightweight testing
    • Beta testing program for real-world validation
  • Build artifacts and release management for multiple platforms
  • Code organization for shared business logic across platforms

Development Workflow

  • How to work on the cross-platform-dev branch
  • Running builds through GitHub Actions
  • Testing without local Windows/Linux installation
  • Merging strategy back to main once stable

4. Project Structure Updates

Ensure proper organization for future cross-platform development:

  • iOS and macOS directories clearly separated
  • Asset structure ready for cross-platform additions
  • Build configuration documented

Deliverables

  1. Updated app icon in asset catalog
  2. .github/workflows/prerelease.yml - PR prerelease automation
  3. .github/workflows/build-and-release.yml - Main branch release automation
  4. .github/copilot-instructions.md - Comprehensive porting and development strategy
  5. Any necessary configuration files for cross-platform preparation

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: I have this app I made, a macOS app.
There are two things I want to think about

  1. Maybe switching to a more unique name, there are so many note apps called Jot.
  2. I am considering porting my app to Windows and Linux, however I use a macBook to code, and I'm not sure how I could test this app on Windows and Linux without having them installed, let alone build to them and release.

Assistant: I can help you think through both of these questions! Let me address each one:

1. Renaming Your App

You're right that "Jot" is a common name for note apps. Some strategies for finding a unique name:

  • Brainstorm variants: Think about what makes your app special. Is it the simplicity? The pinning feature? Build from there (e.g., "Pin", "Pinboard", "NotePins", "Stickies" - though that's taken, "QuickPin", etc.)
  • Domain availability: Check if potential names have available .app or .com domains
  • App Store uniqueness: Search the macOS App Store to see what's already claimed
  • Avoid generic terms: Steer clear of super common words; more specific/creative names stand out

Once you've settled on a new name, renaming across your repo is straightforward (updating the Xcode project, bundle identifier, README, etc.).


2. Cross-Platform Testing Without Windows/Linux

This is a real challenge for macOS developers wanting to go cross-platform. Here are your practical options:

Virtual Machines (Easiest)

  • Parallels Desktop or VMware Fusion (paid, but work well on Apple Silicon/Intel)
  • UTM (free, open-source, works on Apple Silicon)
  • QEMU (free, steeper learning curve)

You can run Windows 10/11 or Linux distributions as virtual machines on your Mac. T...

This pull request was created from Copilot chat.


⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.

Copilot AI changed the title [WIP] Update PinStick app icon and add CI/CD workflows Add CI/CD workflows, cross-platform porting docs, and new app icon Mar 29, 2026
Copilot AI requested a review from kiyarose March 29, 2026 08:38
Copilot AI and others added 2 commits March 29, 2026 09:05
This reverts commit fc2fd79.

Co-authored-by: kiyarose <75678535+kiyarose@users.noreply.github.com>
@kiyarose kiyarose marked this pull request as ready for review March 29, 2026 09:17
Copilot AI review requested due to automatic review settings March 29, 2026 09:17
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR renames and refreshes the PinStick app identity (icons + Swift entrypoint), adds a Tauri-based cross-platform preview app under cross-platform/, and introduces GitHub Actions workflows/scripts to build and publish prereleases/releases plus run cross-platform CI builds.

Changes:

  • Added Tauri cross-platform preview app (vanilla HTML/CSS/JS + Rust backend) with pin/unpin via always_on_top and local note persistence.
  • Added CI workflows for macOS build + GitHub prerelease/release, plus a cross-platform build matrix (macOS/Windows/Ubuntu 22.04).
  • Updated branding: app name rename, macOS icon asset catalog + new icon PNGs, plus updated docs/gitignore.

Reviewed changes

Copilot reviewed 16 out of 32 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
icon_64x64.png New macOS app icon asset (32pt @2x).
icon_32x32.png New macOS app icon asset (16pt @2x).
icon_32x32 1.png New macOS app icon asset (32pt @1x).
icon_16x16.png New macOS app icon asset (16pt @1x).
icon_128x128.png New macOS app icon asset (128pt @1x).
cross-platform/src/styles.css Basic styling for the Tauri preview UI layout.
cross-platform/src/main.js Note persistence via localStorage + invokes Rust toggle_pin.
cross-platform/src/index.html Minimal UI shell (pin button, status, textarea).
cross-platform/src-tauri/tauri.conf.json Tauri app config (window + bundle identifier + icon).
cross-platform/src-tauri/src/main.rs Rust backend with toggle_pin command and window setup.
cross-platform/src-tauri/build.rs Tauri build script integration.
cross-platform/src-tauri/Cargo.toml Rust/Tauri dependencies and build config.
cross-platform/package.json Node/Tauri CLI scripts for building/checking.
cross-platform/package-lock.json Locked dependency graph for Tauri CLI.
README.md Updated project name and local build instructions for Tauri preview.
PinStickApp.swift Renamed SwiftUI app entrypoint to PinStickApp.
Jot.xcodeproj/project.pbxproj Xcode project added/updated for PinStick product settings.
Jot.xcodeproj.zip Zipped Xcode project used by CI builds.
Contents.json AppIcon asset catalog updated to macOS icon set entries.
.gitignore Ignores added for Tauri/Node/Rust build artifacts.
.github/workflows/prerelease.yml PR-ready prerelease workflow + cross-platform build matrix job.
.github/workflows/build-and-release.yml Push-to-main release workflow + cross-platform build matrix job.
.github/scripts/extract-version.sh Script to extract MARKETING_VERSION for tagging/releases.
.github/copilot-instructions.md Added porting/branch strategy + CI guidance documentation.
Files not reviewed (1)
  • cross-platform/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@deepsource-io
Copy link
Copy Markdown

deepsource-io bot commented Mar 29, 2026

DeepSource Code Review

We reviewed changes in dc8378a...1f91b94 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
Rust Mar 30, 2026 1:36a.m. Review ↗

@kiyarose kiyarose marked this pull request as ready for review March 29, 2026 19:50
@kiyarose kiyarose marked this pull request as draft March 29, 2026 20:39
@kiyarose kiyarose marked this pull request as ready for review March 29, 2026 22:44
kiyarose and others added 4 commits March 29, 2026 18:57
@kiyarose kiyarose marked this pull request as draft March 29, 2026 23:08
@kiyarose kiyarose marked this pull request as ready for review March 29, 2026 23:08
@kiyarose kiyarose marked this pull request as draft March 30, 2026 00:32
@kiyarose kiyarose marked this pull request as ready for review March 30, 2026 00:32
…ged-issue-and-linux-blank-app

Fix Linux blank window and macOS “damaged” app in Tauri builds
@kiyarose kiyarose marked this pull request as draft March 30, 2026 01:23
@kiyarose kiyarose marked this pull request as ready for review March 30, 2026 01:23
@kiyarose kiyarose marked this pull request as draft March 30, 2026 01:36
@kiyarose kiyarose marked this pull request as ready for review March 30, 2026 01:36
@kiyarose kiyarose merged commit 44e27a7 into main Mar 30, 2026
5 checks passed
@kiyarose kiyarose deleted the copilot/update-app-icon-and-cicd-workflows branch March 30, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jot Base

3 participants