Skip to content

Commit 8ebef03

Browse files
trader-payneclaude
andcommitted
Add UI improvements and GitHub Actions workflows
Features: - Add localhost console button to home screen for quick terminal access - Implement drag-and-drop group reordering in sidebar - Move Home button to persistent header row in profile view CI/CD: - Add GitHub Actions workflow for automated builds and releases - Add nightly build workflow for continuous integration - Configure automatic DMG creation for releases Documentation: - Refactor README for clarity and professionalism - Remove excessive emojis and streamline content - Update feature list with new capabilities Co-Authored-By: Claude <noreply@anthropic.com>
1 parent e92f5bf commit 8ebef03

File tree

7 files changed

+406
-223
lines changed

7 files changed

+406
-223
lines changed

.github/workflows/build.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Build and Release
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
tags:
7+
- 'v*'
8+
pull_request:
9+
branches: [ main ]
10+
workflow_dispatch:
11+
12+
jobs:
13+
build:
14+
runs-on: macos-latest
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Setup Xcode
20+
uses: maxim-lobanov/setup-xcode@v1
21+
with:
22+
xcode-version: latest-stable
23+
24+
- name: Build application
25+
run: |
26+
./Scripts/build_app.sh
27+
28+
- name: Create DMG
29+
if: startsWith(github.ref, 'refs/tags/')
30+
run: |
31+
# Install create-dmg if needed
32+
brew install create-dmg || true
33+
34+
# Create DMG
35+
create-dmg \
36+
--volname "iTermGUI" \
37+
--volicon "Resources/AppIcon.icns" \
38+
--window-pos 200 120 \
39+
--window-size 600 400 \
40+
--icon-size 100 \
41+
--icon "iTermGUI.app" 150 180 \
42+
--hide-extension "iTermGUI.app" \
43+
--app-drop-link 450 180 \
44+
--no-internet-enable \
45+
"iTermGUI-${{ github.ref_name }}.dmg" \
46+
"Build/"
47+
48+
- name: Upload build artifacts
49+
uses: actions/upload-artifact@v3
50+
with:
51+
name: iTermGUI-${{ github.sha }}
52+
path: Build/iTermGUI.app
53+
54+
- name: Create Release
55+
if: startsWith(github.ref, 'refs/tags/')
56+
uses: softprops/action-gh-release@v1
57+
with:
58+
files: |
59+
iTermGUI-${{ github.ref_name }}.dmg
60+
draft: false
61+
prerelease: false
62+
generate_release_notes: true
63+
env:
64+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
65+
66+
test:
67+
runs-on: macos-latest
68+
69+
steps:
70+
- uses: actions/checkout@v4
71+
72+
- name: Setup Xcode
73+
uses: maxim-lobanov/setup-xcode@v1
74+
with:
75+
xcode-version: latest-stable
76+
77+
- name: Run tests
78+
run: swift test

.github/workflows/nightly.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Nightly Build
2+
3+
on:
4+
schedule:
5+
# Run at 2 AM UTC every day
6+
- cron: '0 2 * * *'
7+
workflow_dispatch:
8+
9+
jobs:
10+
nightly:
11+
runs-on: macos-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Setup Xcode
17+
uses: maxim-lobanov/setup-xcode@v1
18+
with:
19+
xcode-version: latest-stable
20+
21+
- name: Build application
22+
run: |
23+
./Scripts/build_app.sh
24+
25+
- name: Create nightly DMG
26+
run: |
27+
# Install create-dmg if needed
28+
brew install create-dmg || true
29+
30+
# Get current date
31+
DATE=$(date +%Y%m%d)
32+
33+
# Create DMG
34+
create-dmg \
35+
--volname "iTermGUI Nightly" \
36+
--volicon "Resources/AppIcon.icns" \
37+
--window-pos 200 120 \
38+
--window-size 600 400 \
39+
--icon-size 100 \
40+
--icon "iTermGUI.app" 150 180 \
41+
--hide-extension "iTermGUI.app" \
42+
--app-drop-link 450 180 \
43+
--no-internet-enable \
44+
"iTermGUI-nightly-${DATE}.dmg" \
45+
"Build/"
46+
47+
- name: Upload nightly build
48+
uses: actions/upload-artifact@v3
49+
with:
50+
name: iTermGUI-nightly-${{ github.run_number }}
51+
path: |
52+
Build/iTermGUI.app
53+
iTermGUI-nightly-*.dmg
54+
retention-days: 7

0 commit comments

Comments
 (0)