@@ -91,78 +91,11 @@ jobs:
9191 with :
9292 name : nativescript-macos-node-api
9393 path : packages/macos/nativescript-macos-node-api-${{steps.npm_version_output.outputs.NPM_VERSION_MACOS}}.tgz
94- test :
95- name : Test
96- runs-on : macos-26
97- needs : build
98- steps :
99- - name : Harden the runner (Audit all outbound calls)
100- uses : step-security/harden-runner@95d9a5deda9de15063e7595e9719c11c38c90ae2 # v2.13.2
101- with :
102- egress-policy : audit
103- - uses : maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0
104- with :
105- xcode-version : ${{env.XCODE_VERSION}}
106- - uses : actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
107- - uses : actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
108- with :
109- node-version : 24
110- - name : Install Python
111- uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
112- with :
113- python-version : " 3"
114- - name : Install Dependencies
115- run : |
116- npm install
117- python3 -m pip install --upgrade pip six
118- # Ensure LLVM linker used by -fuse-ld=lld is available
119- if ! command -v ld64.lld >/dev/null; then
120- brew list lld || brew install lld
121- fi
122- # Ensure CMake is available without conflicting with pinned Homebrew formula
123- if ! command -v cmake >/dev/null; then
124- brew list cmake || brew install cmake
125- fi
126- # Some scripts expect cmake at /usr/local/bin; create a shim if needed
127- if [ ! -x /usr/local/bin/cmake ]; then
128- sudo mkdir -p /usr/local/bin
129- sudo ln -sf "$(command -v cmake)" /usr/local/bin/cmake
130- fi
131- brew install chargepoint/xcparse/xcparse
132- npm install -g @edusperoni/junit-cli-report-viewer verify-junit-xml
133- - name : Prepare
134- run : npm run setup-ci
135- - name : Prepare test folder
136- run : |
137- mkdir -p dist-test
138- echo TEST_FOLDER=$(pwd)/dist-test >> $GITHUB_ENV
139- - name : Xcode Tests
140- uses : nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
141- # try to run the tests with xcpretty. If it fails then try again without xcpretty twice for better log output
142- # 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
143- with :
144- timeout_minutes : 20
145- max_attempts : 2
146- command : set -o pipefail && xcodebuild -project v8ios.xcodeproj -scheme TestRunner -resultBundlePath $TEST_FOLDER/test_results -destination platform\=iOS\ Simulator,OS\=17.2,name\=iPhone\ 15\ Pro\ Max build test | xcpretty
147- on_retry_command : rm -rf $TEST_FOLDER/test_results* && xcrun simctl shutdown all
148- new_command_on_retry : xcodebuild -project v8ios.xcodeproj -scheme TestRunner -resultBundlePath $TEST_FOLDER/test_results -destination platform\=iOS\ Simulator,OS\=17.2,name\=iPhone\ 15\ Pro\ Max build test
149- - name : Validate Test Results
150- run : |
151- xcparse attachments $TEST_FOLDER/test_results.xcresult $TEST_FOLDER/test-out
152- find $TEST_FOLDER/test-out -name "*junit*.xml" -maxdepth 1 -print0 | xargs -n 1 -0 npx junit-cli-report-viewer
153- find $TEST_FOLDER/test-out -name "*junit*.xml" -maxdepth 1 -print0 | xargs -n 1 -0 npx verify-junit-xml
154- - name : Archive Test Result Data
155- if : always()
156- uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
157- with :
158- name : test-results
159- path : ${{env.TEST_FOLDER}}/test_results.xcresult
16094 publish :
16195 runs-on : ubuntu-latest
16296 environment : npm-publish
16397 needs :
16498 - build
165- - test
16699 permissions :
167100 contents : read
168101 id-token : write
@@ -230,7 +163,6 @@ jobs:
230163 contents : write
231164 needs :
232165 - build
233- - test
234166 env :
235167 NPM_VERSION : ${{needs.build.outputs.npm_version}}
236168 steps :
0 commit comments