Skip to content

✨ feat(app): ship Token Menu Bar #21

✨ feat(app): ship Token Menu Bar

✨ feat(app): ship Token Menu Bar #21

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint
runs-on: macos-26
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2.4.4
- name: Select Xcode
run: Scripts/select-xcode.sh
- name: Run every hook
run: just lint
test:
name: Tests and coverage
runs-on: macos-26
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2.4.4
- name: Select Xcode
run: Scripts/select-xcode.sh
- name: Cache SwiftPM
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: .build
key: spm-${{ runner.os }}-${{ hashFiles('Package.swift') }}
- name: Build
run: swift build -Xswiftc -warnings-as-errors
- name: Tests with coverage gate
run: just coverage
app:
name: Build app flavors
runs-on: macos-26
strategy:
matrix:
include:
- scheme: TokenMenuBar-Direct
configuration: Release
- scheme: TokenMenuBar-AppStore
configuration: AppStore
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2.4.4
- name: Select Xcode
run: Scripts/select-xcode.sh
- name: Generate project
run: just xcode
- name: Build
env:
SCHEME: ${{ matrix.scheme }}
CONFIGURATION: ${{ matrix.configuration }}
run: |
xcodebuild -project App/TokenMenuBar.xcodeproj -scheme "$SCHEME" -configuration "$CONFIGURATION" \
-destination 'platform=macOS' CODE_SIGNING_ALLOWED=NO CODE_SIGN_IDENTITY="" ENABLE_APP_SANDBOX=NO \
build | tail -30