Skip to content

Commit d764525

Browse files
committed
Update the release PR message
1 parent 2a046d4 commit d764525

File tree

10 files changed

+146
-46
lines changed

10 files changed

+146
-46
lines changed

.github/workflows/pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
jobs:
1111
run_on_merge:
1212
if: github.event.pull_request.merged == true
13-
runs-on: ubuntu-latest
13+
runs-on: ubuntu-24.04
1414

1515
steps:
1616
- name: "📦 Checkout"

.github/workflows/test.yml

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@ name: "🧑‍🔬 Build and Test"
22

33
on:
44
workflow_dispatch:
5+
inputs:
6+
force-rebuild:
7+
required: false
8+
default: false
9+
type: boolean
10+
description: "Re-build Rust binaries"
511
push:
612
branches:
713
- 'run-on-ci/**'
@@ -15,12 +21,13 @@ env:
1521
jobs:
1622
sharedInputs:
1723
name: "👭 Shared envs"
18-
runs-on: ubuntu-latest
24+
runs-on: ubuntu-24.04
1925
outputs:
2026
rust-target-path: ${{ env.RUST_TARGET_PATH }}
2127
binaries-path: ${{ env.BINARIES_PATH }}
2228
cache-key: ${{ env.CACHE_KEY }}
2329
cache-restore-key: ${{ env.CACHE_RESTORE_KEY }}
30+
force-rebuild: ${{ inputs.force-rebuild }}
2431

2532
steps:
2633
- run: echo "Just a hacky workaround for passing envs to jobs expecting them... ¯\_(ツ)_/¯"
@@ -34,24 +41,37 @@ jobs:
3441
binaries-path: ${{ needs.sharedInputs.outputs.binaries-path }}
3542
cache-key: ${{ needs.sharedInputs.outputs.cache-key }}
3643
cache-restore-key: ${{ needs.sharedInputs.outputs.cache-restore-key }}
44+
force-rebuild: "${{ needs.sharedInputs.outputs.force-rebuild }}"
45+
46+
testMacOS15:
47+
name: "🤖 Test"
48+
needs: [sharedInputs, buildFFI]
49+
uses: ./.github/workflows/tmpl_test_macos15.yml
50+
secrets:
51+
codecov_token: ${{ secrets.CODECOV_TOKEN }}
52+
with:
53+
rust-target-path: ${{ needs.sharedInputs.outputs.rust-target-path }}
54+
binaries-path: ${{ needs.sharedInputs.outputs.binaries-path }}
55+
cache-key: ${{ needs.sharedInputs.outputs.cache-key }}
56+
cache-restore-key: ${{ needs.sharedInputs.outputs.cache-restore-key }}
57+
submit-coverage-report: true
3758

3859
testMacOS14:
39-
name: "🤖 Unit tests"
60+
name: "🤖 Test"
4061
needs: [sharedInputs, buildFFI]
41-
uses: ./.github/workflows/tmpl_test_macos14_arm64.yml
62+
uses: ./.github/workflows/tmpl_test_macos14.yml
4263
secrets:
4364
codecov_token: ${{ secrets.CODECOV_TOKEN }}
4465
with:
4566
rust-target-path: ${{ needs.sharedInputs.outputs.rust-target-path }}
4667
binaries-path: ${{ needs.sharedInputs.outputs.binaries-path }}
4768
cache-key: ${{ needs.sharedInputs.outputs.cache-key }}
4869
cache-restore-key: ${{ needs.sharedInputs.outputs.cache-restore-key }}
49-
submit-coverage-report: false
5070

5171
testMacOS13:
52-
name: "🤖 Unit tests"
72+
name: "🤖 Test"
5373
needs: [sharedInputs, buildFFI]
54-
uses: ./.github/workflows/tmpl_test_macos13_x86_64.yml
74+
uses: ./.github/workflows/tmpl_test_macos13.yml
5575
with:
5676
rust-target-path: ${{ needs.sharedInputs.outputs.rust-target-path }}
5777
binaries-path: ${{ needs.sharedInputs.outputs.binaries-path }}

.github/workflows/tmpl_build_rust_binaries.yml

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@ on:
1515
cache-restore-key:
1616
required: true
1717
type: string
18+
force-rebuild:
19+
required: true
20+
type: string
1821

1922
jobs:
2023
buildRustBinaries:
2124
name: "🏗️ Build libpact_ffi.a"
22-
runs-on: macos-latest
25+
runs-on: macos-15
2326
timeout-minutes: 60
2427
strategy:
2528
fail-fast: true
@@ -34,7 +37,7 @@ jobs:
3437
with:
3538
submodules: recursive
3639

37-
- name: " Cache rust binaries"
40+
- name: "🗂️ Cache rust binaries"
3841
uses: actions/cache@v4
3942
with:
4043
path: |
@@ -44,17 +47,25 @@ jobs:
4447
restore-keys: |
4548
${{ inputs.cache-restore-key }}-${{ runner.os }}
4649
47-
- name: "🔍 Check binaries in ${{ inputs.binaries-path }}"
50+
- name: "🔍 Check binaries exist in ${{ inputs.binaries-path }}"
4851
id: check_files
4952
uses: andstor/file-existence-action@v3
5053
with:
5154
files: "Resources/**/libpact_ffi.a"
5255

53-
- name: "🛠 Prepare Tools"
56+
- name: "🛠 Prepare Tools"
57+
if: ${{ steps.check_files.outputs.files_exists == 'false' || inputs.force-rebuild == 'true' }}
5458
run: |
55-
sh Support/Scripts/prepare_build_tools
59+
sh Support/Scripts/Config/prepare_build_tools
5660
57-
- name: "🎁 Build FFI binaries (skipping if cached)"
58-
if: steps.check_files.outputs.files_exists == 'false'
61+
- name: "🎁 Build FFI binaries (skipping if cached)"
62+
if: ${{ steps.check_files.outputs.files_exists == 'false' || inputs.force-rebuild == 'true' }}
5963
run: |
60-
sh Support/Scripts/build_rust_dependencies
64+
sh Support/Scripts/CI/build_rust_dependencies
65+
66+
- name: "🚚 Upload binaries"
67+
if: ${{ steps.check_files.outputs.files_exists == 'false' || inputs.force-rebuild == 'true' }}
68+
uses: actions/upload-artifact@v4
69+
with:
70+
name: Resources
71+
path: Resources

.github/workflows/tmpl_test_macos13_x86_64.yml renamed to .github/workflows/tmpl_test_macos13.yml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: "On macOS 13 (intel)"
1+
name: "macOS 13"
22

33
on:
44
workflow_call:
@@ -15,12 +15,13 @@ on:
1515
cache-restore-key:
1616
required: true
1717
type: string
18+
1819
env:
19-
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
20+
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
2021

2122
jobs:
2223
testMacOS13:
23-
name: "⚗️ macOS 13 (Intel)"
24+
name: "🖥️ macOS 13"
2425
runs-on: macos-13
2526

2627
strategy:
@@ -30,14 +31,14 @@ jobs:
3031
- scheme: "PactSwiftMockServer-iOS"
3132
destination: "platform=iOS Simulator,name=iPhone 14 Pro"
3233
- scheme: "PactSwiftMockServer-macOS"
33-
destination: "arch=x86_64"
34+
destination: "" # Intentionally left empty
3435

3536
env:
3637
SCHEME: ${{ matrix.scheme }}
3738
DESTINATION: ${{ matrix.destination }}
3839

3940
concurrency:
40-
group: test-macos13_x86_64-${{ github.ref }}-${{ matrix.scheme }}
41+
group: test-macos13-${{ github.ref }}-${{ matrix.scheme }}
4142
cancel-in-progress: true
4243

4344
steps:
@@ -56,10 +57,7 @@ jobs:
5657
restore-keys: |
5758
${{ inputs.cache-restore-key }}-${{ runner.os }}
5859
59-
- name: "🛠 Prepare Tools"
60-
run: |
61-
sh Support/Scripts/Config/prepare_build_tools
62-
6360
- name: "⚗️ Run tests"
6461
run: |
62+
sh Support/Scripts/Config/prepare_build_tools
6563
sh Support/Scripts/test
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: "macOS 14"
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
rust-target-path:
7+
required: true
8+
type: string
9+
binaries-path:
10+
required: true
11+
type: string
12+
cache-key:
13+
required: true
14+
type: string
15+
cache-restore-key:
16+
required: true
17+
type: string
18+
secrets:
19+
codecov_token:
20+
required: true
21+
22+
env:
23+
DEVELOPER_DIR: /Applications/Xcode_16.0.app/Contents/Developer
24+
25+
jobs:
26+
testMacOS14:
27+
name: "🖥️ macOS 14"
28+
runs-on: macos-14
29+
30+
strategy:
31+
fail-fast: true
32+
matrix:
33+
include:
34+
- scheme: "PactSwiftMockServer-iOS"
35+
destination: "platform=iOS Simulator,name=iPhone 15 Pro"
36+
- scheme: "PactSwiftMockServer-macOS"
37+
destination: "" # Intentionally left empty
38+
39+
env:
40+
SCHEME: ${{ matrix.scheme }}
41+
DESTINATION: ${{ matrix.destination }}
42+
43+
concurrency:
44+
group: test-macos14-${{ github.ref }}-${{ matrix.scheme }}
45+
cancel-in-progress: true
46+
47+
steps:
48+
- name: "♻️ Checkout repository"
49+
uses: actions/checkout@v4
50+
with:
51+
submodules: recursive
52+
53+
- name: "♼ Cache rust binaries"
54+
uses: actions/cache@v4
55+
with:
56+
path: |
57+
${{ inputs.rust-target-path }}
58+
${{ inputs.binaries-path }}
59+
key: ${{ inputs.cache-restore-key }}-${{ runner.os }}-${{ hashFiles('**/libpact_ffi.version') }}
60+
restore-keys: |
61+
${{ inputs.cache-restore-key }}-${{ runner.os }}
62+
63+
- name: "🛠 Prepare Tools"
64+
run: |
65+
sh Support/Scripts/Config/prepare_build_tools
66+
67+
- name: "⚗️ Run tests"
68+
run: |
69+
sh Support/Scripts/test

.github/workflows/tmpl_test_macos14_arm64.yml renamed to .github/workflows/tmpl_test_macos15.yml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: "On macOS 14 (latest)"
1+
name: "macOS 14"
22

33
on:
44
workflow_call:
@@ -21,33 +21,32 @@ on:
2121
secrets:
2222
codecov_token:
2323
required: true
24-
workflow_dispatch:
2524

2625
env:
27-
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer
26+
DEVELOPER_DIR: /Applications/Xcode_16.2.app/Contents/Developer
2827

2928
jobs:
3029
testMacOS14:
31-
name: "⚗️ macOS (latest)"
32-
runs-on: macos-latest
30+
name: "🖥️ macOS 15"
31+
runs-on: macos-15
3332

3433
strategy:
3534
fail-fast: true
3635
matrix:
3736
include:
3837
- scheme: "PactSwiftMockServer-iOS"
39-
destination: "platform=iOS Simulator,name=iPhone 15 Pro"
38+
destination: "platform=iOS Simulator,name=iPhone 16 Pro"
4039
submit_code_coverage: true
4140
- scheme: "PactSwiftMockServer-macOS"
42-
destination: "arch=arm64"
43-
submit_code_coverage: true
41+
destination: "" # Intentionally left empty
42+
submit_code_coverage: false
4443

4544
env:
4645
SCHEME: ${{ matrix.scheme }}
4746
DESTINATION: ${{ matrix.destination }}
4847

4948
concurrency:
50-
group: test-macos14-latest-${{ github.ref }}-${{ matrix.scheme }}
49+
group: test-macos15-${{ github.ref }}-${{ matrix.scheme }}
5150
cancel-in-progress: true
5251

5352
steps:
@@ -66,10 +65,13 @@ jobs:
6665
restore-keys: |
6766
${{ inputs.cache-restore-key }}-${{ runner.os }}
6867
69-
- name: "⚗️ Run tests"
68+
- name: "🛠 Prepare Tools"
7069
run: |
7170
sh Support/Scripts/Config/prepare_build_tools
72-
sh Support/Scrips/test
71+
72+
- name: "⚗️ Run tests"
73+
run: |
74+
sh Support/Scripts/test
7375
7476
- name: "⬆️ Upload coverage reports"
7577
if: ${{ matrix.submit_code_coverage && inputs.submit-coverage-report }}

Support/Scripts/CI/build_rust_dependencies

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ elif command -v ~/.cargo/bin/cargo &> /dev/null; then
5757
echo "👍 cargo installed in ~/.cargo/bin/"
5858
else
5959
echo "🚨 Rust/Cargo not installed"
60-
echo -e "ERROR: 'cargo' is a required dependency.\nInstall Rust using either homebrew or follow instructions at https://www.rust-lang.org/tools/install"
60+
echo -e "error: 'cargo' is a required dependency.\nInstall Rust using either homebrew or follow instructions at https://www.rust-lang.org/tools/install"
6161
exit 1
6262
fi
6363

@@ -67,7 +67,7 @@ fi
6767

6868
# Update pact-reference submodule
6969
echo "🔃 Updating pact-reference submodule"
70-
executeCommand "git submodule update --init"
70+
executeCommand "git submodule update --remote --recursive"
7171

7272
echo "ℹ️ Changing location to ${LIBPACT_FFI_DIR}"
7373
executeCommand "cd $LIBPACT_FFI_DIR"
@@ -120,7 +120,7 @@ executeCommand "cargo build --target=aarch64-apple-darwin --release"
120120
echo "🏗 Building libpact_ffi.a for arm64 iOS device"
121121
executeCommand "cargo build --target=aarch64-apple-ios --release"
122122

123-
echo "✅ libpact_ffi.a binaries built"
123+
echo -e "${GREEN}libpact_ffi.a binaries built$NOCOLOR"
124124

125125
echo "🏗 Building pact_ffi.h..."
126126
executeCommand "mkdir -p build && cd build"
@@ -140,23 +140,23 @@ echo "🏗 Copying binaries from ${PWD} to ${WORKSPACE}/Resources"
140140
# Copy binary for an iOS device
141141
echo "🚚 Copying arm64-ios (iOS device) binary..."
142142
executeCommand "cp ../target/aarch64-apple-ios/release/libpact_ffi.a $WORKSPACE/Resources/iOS-device/libpact_ffi.a"
143-
echo "👍 Copied arm64-ios binary."
143+
echo -e "${GREEN}👍 Copied arm64-ios binary.$NOCOLOR"
144144

145145
# Create a fat binary for iOS Simulators and copy to workspace
146146
echo "🚚 Creating a fat binary for iOS Simulator (x86_64 and arm64)..."
147147
executeCommand "lipo -create \
148148
../target/x86_64-apple-ios/release/libpact_ffi.a \
149149
../target/aarch64-apple-ios-sim/release/libpact_ffi.a \
150150
-output $WORKSPACE/Resources/iOS-simulator/libpact_ffi.a"
151-
echo "👍 Copied x86_64-ios and arm64-ios-sim fattie."
151+
echo -e "${GREEN}👍 Copied x86_64-ios and arm64-ios-sim fattie.$NOCOLOR"
152152

153153
# Create a fat darwin binary and copy to workspace
154154
echo "🚚 Copying x86_64-darwin and arm64-darwin into a fat binary..."
155155
executeCommand "lipo -create \
156156
../target/x86_64-apple-darwin/release/libpact_ffi.a \
157157
../target/aarch64-apple-darwin/release/libpact_ffi.a \
158158
-output $WORKSPACE/Resources/x86_64-darwin/libpact_ffi.a"
159-
echo "👍 Copied x86_64-darwin and arm64-darwin fattie."
159+
echo -e "👍 ${GREEN}Copied x86_64-darwin and arm64-darwin fattie.$NOCOLOR"
160160

161161
echo "🏗 Copying pact_ffi.h from ${PWD}/include to ${WORKSPACE}/Sources"
162162
executeCommand "cp include/pact_ffi.h ${WORKSPACE}/Sources"

Support/Scripts/Config/config.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ MIN_XCODE_VERSION="16.1"
77
XCODE_VERSION_MIN_SUGGESTED="16.1"
88
XCODE_VERSION_MIN_SUPPORTED="16.0"
99

10-
IPHONEOS_DEPLOYMENT_TARGET=16.0
11-
MACOSX_DEPLOYMENT_TARGET=13.0
10+
IPHONEOS_DEPLOYMENT_TARGET=13.0
11+
MACOSX_DEPLOYMENT_TARGET=12.0
1212

1313
LIBPACT_FFI_VERSION_FILE="libpact_ffi.version"
1414

0 commit comments

Comments
 (0)