-
Notifications
You must be signed in to change notification settings - Fork 1
66 lines (61 loc) · 2.31 KB
/
Copy pathrelease.yml
File metadata and controls
66 lines (61 loc) · 2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
name: Prepare Release Draft
on:
push:
tags: ['v*']
workflow_dispatch:
permissions:
contents: write
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
jobs:
release:
runs-on: macos-15
timeout-minutes: 45
env:
ISOLATE_MODEL_ARCHIVE_URL: ${{ vars.ISOLATE_MODEL_ARCHIVE_URL }}
ISOLATE_MODEL_ARCHIVE_SHA256: ${{ vars.ISOLATE_MODEL_ARCHIVE_SHA256 }}
TEST_RUNNER_ISOLATE_REQUIRE_MODEL: '1'
steps:
- uses: actions/checkout@v5
- name: Require a release tag
env:
REF_TYPE: ${{ github.ref_type }}
run: test "$REF_TYPE" = tag
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- run: brew install xcodegen
- name: Fetch and validate pinned release model
run: bash scripts/fetch_release_model.sh
- run: xcodegen generate
- name: Require passing tests including actual model inference
run: xcodebuild test -project Isolate.xcodeproj -scheme Isolate -destination 'platform=macOS,arch=arm64' -derivedDataPath build/DerivedData -only-testing:IsolateTests CODE_SIGNING_ALLOWED=NO
- name: Package release with bundled model
env:
RELEASE_TAG: ${{ github.ref_name }}
run: bash scripts/package_release.sh "$RELEASE_TAG"
- name: Create draft for manual review
uses: softprops/action-gh-release@v2
with:
files: |
dist/Isolate.dmg
dist/Isolate-${{ github.ref_name }}.dmg
dist/Isolate-${{ github.ref_name }}-macOS.zip
dist/SHA256SUMS.txt
fail_on_unmatched_files: true
generate_release_notes: true
draft: true
body: |
Apple Silicon · macOS 14+
Includes the validated Core ML separation model.
These CI artifacts are ad-hoc signed and are not notarized. Before publishing,
complete the platform and distribution checks in RELEASE.md. Download the DMG,
drag Isolate into Applications, and follow Apple's Privacy & Security guidance
if macOS requests explicit approval.
- name: Preserve test results
if: always()
uses: actions/upload-artifact@v4
with:
name: release-test-results
path: build/DerivedData/Logs/Test/*.xcresult