Skip to content

Redesign SFTP view with Liquid Glass chrome #12

Redesign SFTP view with Liquid Glass chrome

Redesign SFTP view with Liquid Glass chrome #12

Workflow file for this run

name: Build and Release
on:
push:
branches: [ main ]
tags:
- 'v*'
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Build application
run: |
./Scripts/build_app.sh
- name: Create DMG
if: startsWith(github.ref, 'refs/tags/')
run: |
# Install create-dmg if needed
brew install create-dmg || true
# Create DMG
create-dmg \
--volname "iTermGUI" \
--volicon "Resources/AppIcon.icns" \
--window-pos 200 120 \
--window-size 600 400 \
--icon-size 100 \
--icon "iTermGUI.app" 150 180 \
--hide-extension "iTermGUI.app" \
--app-drop-link 450 180 \
--no-internet-enable \
"iTermGUI-${{ github.ref_name }}.dmg" \
"Build/"
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: iTermGUI-${{ github.sha }}
path: Build/iTermGUI.app
- name: Create Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: |
iTermGUI-${{ github.ref_name }}.dmg
draft: false
prerelease: false
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
test:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Run tests
run: swift test --parallel --enable-code-coverage
- name: Coverage summary
run: |
PROF=$(find .build -name 'default.profdata' 2>/dev/null | head -1)
BIN=$(find .build -type d -name '*.xctest' 2>/dev/null | head -1)
if [ -n "$PROF" ] && [ -n "$BIN" ]; then
xcrun llvm-cov report "$BIN/Contents/MacOS/iTermGUIPackageTests" \
-instr-profile="$PROF" \
-ignore-filename-regex='Tests|SwiftTerm|\.build' || true
fi