@@ -21,31 +21,38 @@ jobs:
2121 uses : step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
2222 with :
2323 egress-policy : audit
24- - uses : maxim-lobanov/setup-xcode@v1
24+ - uses : maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0
2525 with :
2626 xcode-version : ${{env.XCODE_VERSION}}
27- - uses : actions/checkout@v3
27+ - uses : actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
2828 with :
2929 fetch-depth : 0
3030 - name : LLVM cache
31- uses : actions/cache@v3
31+ uses : actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # v3.4.3
3232 with :
3333 path : ./llvm
3434 key : ${{ hashFiles('download_llvm.sh') }}
35- - uses : actions/setup-node@v3
35+ - uses : actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
3636 with :
3737 node-version : 20
3838 registry-url : " https://registry.npmjs.org"
3939 - name : Install Python
40- uses : actions/setup-python@v4
40+ uses : actions/setup-python@7f4fc3e22c37d6ff65e88745f38bd3157c663f7c # v4.9.1
4141 with :
4242 python-version : " 3"
4343 - name : Install Dependencies
4444 run : |
4545 npm install
4646 python3 -m pip install --upgrade pip six
47- brew install cmake
48- [ ! -f /usr/local/bin/cmake ] && ln -s /usr/local/bin/cmake $(which cmake) || true
47+ # Ensure CMake is available without conflicting with pinned Homebrew formula
48+ if ! command -v cmake >/dev/null; then
49+ brew list cmake || brew install cmake
50+ fi
51+ # Some scripts expect cmake at /usr/local/bin; create a shim if needed
52+ if [ ! -x /usr/local/bin/cmake ]; then
53+ sudo mkdir -p /usr/local/bin
54+ sudo ln -sf "$(command -v cmake)" /usr/local/bin/cmake
55+ fi
4956 - name : Get Current Version
5057 run : |
5158 NPM_VERSION=$(node -e "console.log(require('./package.json').version);")
@@ -65,12 +72,12 @@ jobs:
6572 - name : Build
6673 run : npm run build-ios
6774 - name : Upload npm package artifact
68- uses : actions/upload-artifact@v4
75+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
6976 with :
7077 name : npm-package
7178 path : dist/nativescript-ios-${{steps.npm_version_output.outputs.NPM_VERSION}}.tgz
7279 - name : Upload dSYMs artifact
73- uses : actions/upload-artifact@v4
80+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
7481 with :
7582 name : NativeScript-dSYMs
7683 path : dist/dSYMs
@@ -83,28 +90,35 @@ jobs:
8390 uses : step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
8491 with :
8592 egress-policy : audit
86- - uses : maxim-lobanov/setup-xcode@v1
93+ - uses : maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0
8794 with :
8895 xcode-version : ${{env.XCODE_VERSION}}
89- - uses : actions/checkout@v3
96+ - uses : actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
9097 - name : LLVM cache
91- uses : actions/cache@v3
98+ uses : actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # v3.4.3
9299 with :
93100 path : ./llvm
94101 key : ${{ hashFiles('download_llvm.sh') }}
95- - uses : actions/setup-node@v3
102+ - uses : actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
96103 with :
97104 node-version : 20
98105 - name : Install Python
99- uses : actions/setup-python@v4
106+ uses : actions/setup-python@7f4fc3e22c37d6ff65e88745f38bd3157c663f7c # v4.9.1
100107 with :
101108 python-version : " 3"
102109 - name : Install Dependencies
103110 run : |
104111 npm install
105112 python3 -m pip install --upgrade pip six
106- brew install cmake
107- [ ! -f /usr/local/bin/cmake ] && ln -s /usr/local/bin/cmake $(which cmake) || true
113+ # Ensure CMake is available without conflicting with pinned Homebrew formula
114+ if ! command -v cmake >/dev/null; then
115+ brew list cmake || brew install cmake
116+ fi
117+ # Some scripts expect cmake at /usr/local/bin; create a shim if needed
118+ if [ ! -x /usr/local/bin/cmake ]; then
119+ sudo mkdir -p /usr/local/bin
120+ sudo ln -sf "$(command -v cmake)" /usr/local/bin/cmake
121+ fi
108122 brew install chargepoint/xcparse/xcparse
109123 npm install -g @edusperoni/junit-cli-report-viewer verify-junit-xml
110124 - name : Prepare
@@ -114,7 +128,7 @@ jobs:
114128 mkdir -p dist-test
115129 echo TEST_FOLDER=$(pwd)/dist-test >> $GITHUB_ENV
116130 - name : Xcode Tests
117- uses : nick-fields/retry@v2
131+ uses : nick-fields/retry@14672906e672a08bd6eeb15720e9ed3ce869cdd4 # v2.9.0
118132 # try to run the tests with xcpretty. If it fails then try again without xcpretty twice for better log output
119133 # the xcode tests are a bit flaky and they should never fail on this step, as this step only collects the JS test results as junit xml
120134 with :
@@ -130,7 +144,7 @@ jobs:
130144 find $TEST_FOLDER/test-out -name "*junit*.xml" -maxdepth 1 -print0 | xargs -n 1 -0 npx verify-junit-xml
131145 - name : Archive Test Result Data
132146 if : always()
133- uses : actions/upload-artifact@v4
147+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
134148 with :
135149 name : test-results
136150 path : ${{env.TEST_FOLDER}}/test_results.xcresult
@@ -150,11 +164,11 @@ jobs:
150164 uses : step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
151165 with :
152166 egress-policy : audit
153- - uses : actions/setup-node@v3
167+ - uses : actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
154168 with :
155169 node-version : 20
156170 registry-url : " https://registry.npmjs.org"
157- - uses : actions/download-artifact@v4.1.7
171+ - uses : actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
158172 with :
159173 name : npm-package
160174 path : dist
@@ -180,19 +194,19 @@ jobs:
180194 uses : step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
181195 with :
182196 egress-policy : audit
183- - uses : actions/checkout@v3
197+ - uses : actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
184198 with :
185199 fetch-depth : 0
186- - uses : actions/setup-node@v3
200+ - uses : actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
187201 with :
188202 node-version : 20
189203 - name : Setup
190204 run : npm install
191- - uses : actions/download-artifact@v4.1.7
205+ - uses : actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
192206 with :
193207 name : npm-package
194208 path : dist
195- - uses : actions/download-artifact@v4.1.7
209+ - uses : actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
196210 with :
197211 name : NativeScript-dSYMs
198212 path : dist/dSYMs
@@ -201,8 +215,9 @@ jobs:
201215 run : find . -maxdepth 1 -name '*.dSYM' -print | xargs -I@ zip -r @.zip @
202216 - name : Partial Changelog
203217 run : npx conventional-changelog -p angular -r2 > body.md
204- - uses : ncipollo/release-action@v1
218+ - uses : ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # v1.20.0
205219 with :
206220 artifacts : " dist/nativescript-ios-*.tgz,dist/dSYMs/*.zip"
207221 bodyFile : " body.md"
208222 prerelease : ${{needs.build.outputs.npm_tag != 'latest'}}
223+ allowUpdates : true
0 commit comments