Skip to content

feat: add safari support (#186) #196

feat: add safari support (#186)

feat: add safari support (#186) #196

Workflow file for this run

name: Build
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Use Node.js 23.x
uses: actions/setup-node@v4
with:
node-version: 23.x
cache: npm
- name: Build Firefox
run: make build-firefox
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: firefox
path: artifacts/firefox.zip
- name: Check reproducibility from src-zip
run: make test-reproducibility-firefox
- name: Build Chrome
run: make build-chrome
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: chrome
path: artifacts/chrome.zip
- name: Check reproducibility from src-zip
run: make test-reproducibility-chrome
build-safari:
runs-on: macos-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build Safari
run: make build-safari
- name: Check reproducibility from src-zip
run: make test-reproducibility-safari
- name: Convert Chrome Extension to Safari
run: |
xcrun safari-web-extension-converter ./build \
--project-location . \
--bundle-identifier net.activitywatch.activitywatchwebwatcher \
--macos-only \
--force
- name: Build Xcode Project
run: |
xcodebuild -project "ActivityWatch Web Watcher/ActivityWatch Web Watcher.xcodeproj" -list
xcodebuild -project "ActivityWatch Web Watcher/ActivityWatch Web Watcher.xcodeproj" \
-scheme "ActivityWatch Web Watcher" \
-configuration Release \
clean build
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: safari
path: |
~/Library/Developer/Xcode/DerivedData/**/Build/Products/Release/
artifacts/safari.zip
typecheck:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Use Node.js 23.x
uses: actions/setup-node@v4
with:
node-version: 23.x
cache: npm
- name: Install dependencies
run: make install
- name: Typecheck TypeScript
run: make compile