Repository navigation
68 lines (65 loc) · 1.92 KB
/
Copy pathupdate-lockfiles.yml
File metadata and controls
68 lines (65 loc) · 1.92 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
67
68
name: Check native lockfiles
on:
workflow_call:
inputs:
ios:
type: boolean
default: false
macos:
type: boolean
default: false
permissions:
contents: read
jobs:
check:
name: Check CocoaPods dependency resolutions
runs-on: macos-26
timeout-minutes: 15
env:
USE_FRAMEWORKS: static
steps:
- uses: actions/checkout@v7
- uses: actions/download-artifact@v8
with:
name: ci-lockfiles
path: .
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.1
- name: Install dependencies
run: bun install --frozen-lockfile
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.3.0
bundler-cache: true
working-directory: example
- name: Select Xcode 26.5
run: sudo xcode-select -s '/Applications/Xcode_26.5.app/Contents/Developer'
- name: Refresh iOS lockfile
if: inputs.ios
working-directory: example
run: bun pods
- name: Refresh macOS lockfile
if: inputs.macos
working-directory: example
run: bun pods:macos
- name: Attach refreshed native lockfiles
if: always()
uses: actions/upload-artifact@v7
with:
name: native-lockfiles
path: |
example/ios/Podfile.lock
example/macos/Podfile.lock
example/Gemfile.lock
retention-days: 1
- name: Require committed native dependency resolutions
env:
CHECK_IOS: ${{ inputs.ios }}
CHECK_MACOS: ${{ inputs.macos }}
run: |
lockfiles=()
if [[ "$CHECK_IOS" == true ]]; then lockfiles+=(example/ios/Podfile.lock); fi
if [[ "$CHECK_MACOS" == true ]]; then lockfiles+=(example/macos/Podfile.lock); fi
ruby scripts/ci-pod-lockfiles.rb "${lockfiles[@]}"
git diff --exit-code -- example/Gemfile.lock