@invarn/cibuild 2.9.1 → 2.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/cli.cjs +173 -11
  2. package/dist/src/yaml/steps/android.d.ts.map +1 -1
  3. package/dist/src/yaml/steps/android.js +5 -0
  4. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +42 -0
  5. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +1 -0
  6. package/dist/src/yaml/steps/cocoapods-deployment-floor.js +140 -0
  7. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +11 -0
  8. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +1 -0
  9. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +176 -0
  10. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +28 -0
  11. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +1 -0
  12. package/dist/src/yaml/steps/gradle-sdk-cmake.js +107 -0
  13. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +2 -0
  14. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +1 -0
  15. package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +183 -0
  16. package/dist/src/yaml/steps/ios-deps.d.ts.map +1 -1
  17. package/dist/src/yaml/steps/ios-deps.js +2 -0
  18. package/dist/src/yaml/steps/xcode-derived-data.test.js +18 -1
  19. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +53 -0
  20. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +1 -0
  21. package/dist/src/yaml/steps/xcode-simulator-archs.js +98 -0
  22. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +21 -0
  23. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +1 -0
  24. package/dist/src/yaml/steps/xcode-simulator-archs.test.js +155 -0
  25. package/dist/src/yaml/steps/xcode.d.ts.map +1 -1
  26. package/dist/src/yaml/steps/xcode.js +31 -2
  27. package/package.json +1 -1
@@ -5,6 +5,7 @@ import { existsSync } from 'node:fs';
5
5
  import { BaseStepExecutor } from './base.js';
6
6
  import { resolveDestinationInput } from './xcode-destination.js';
7
7
  import { APP_PRODUCT_RESOLVER_SOURCE } from './xcode-app-product.js';
8
+ import { pinsSimulatorArm64, simulatorArchsLines, withRuntimeSimulatorArchs } from './xcode-simulator-archs.js';
8
9
  import { refusedFetchHelpers, retryOnRefusedFetch } from './git-fetch-retry.js';
9
10
  /**
10
11
  * Where derived data goes: outside the source tree, keyed by the output dir.
@@ -23,12 +24,20 @@ import { refusedFetchHelpers, retryOnRefusedFetch } from './git-fetch-retry.js';
23
24
  * name the same output_dir still share derived data (the iOS template relies
24
25
  * on that to avoid compiling the app twice) and two that name different ones
25
26
  * stay apart, as they did before.
27
+ *
28
+ * The path is resolved to its real one. On macOS /tmp and TMPDIR's /var are
29
+ * symlinks into /private, and analogcode/Swift-Radio-Pro's LNPopupController
30
+ * lists header directories with FileManager (real paths) but strips
31
+ * packageBase.path (the symlinked one) by text replacement: every header
32
+ * search path came out eight characters short.
26
33
  */
27
34
  function derivedDataPathLines() {
28
35
  return [
29
36
  '# Derived data outside the source tree, keyed by the output dir',
30
37
  'DERIVED_DATA_PATH="${CIBUILD_SCRATCH:-${TMPDIR:-/tmp}}/cibuild-derived-data/$(printf \'%s\' "$OUTPUT_DIR" | cksum | cut -d\' \' -f1)"',
31
38
  'mkdir -p "$DERIVED_DATA_PATH"',
39
+ '# Its real path: /tmp and TMPDIR are symlinks on macOS, and a package that builds paths by text arithmetic breaks on them',
40
+ 'DERIVED_DATA_PATH="$(cd "$DERIVED_DATA_PATH" && pwd -P)"',
32
41
  'echo "Derived data: $DERIVED_DATA_PATH"',
33
42
  ];
34
43
  }
@@ -863,6 +872,16 @@ export class XcodeBuildForTestStepExecutor extends BaseStepExecutor {
863
872
  ` -scheme '${escapedScheme}'` +
864
873
  ' -derivedDataPath "$DERIVED_DATA_PATH"',
865
874
  }));
875
+ const pinsArm64 = pinsSimulatorArm64(xcodebuildOptions);
876
+ if (pinsArm64) {
877
+ commands.push(...simulatorArchsLines({
878
+ projectPath: escapedPath,
879
+ scheme: escapedScheme,
880
+ configuration: this.escapeBash(configuration),
881
+ destination: this.escapeBash(destination),
882
+ xcconfig: Boolean(xcconfigContent.trim()),
883
+ }));
884
+ }
866
885
  // Build command
867
886
  let cmd = 'xcodebuild build-for-testing';
868
887
  cmd += ` "$PROJECT_TYPE" '${escapedPath}'`;
@@ -877,7 +896,7 @@ export class XcodeBuildForTestStepExecutor extends BaseStepExecutor {
877
896
  cmd += ' -xcconfig "$XCCONFIG_FILE"';
878
897
  }
879
898
  if (xcodebuildOptions) {
880
- cmd += ` ${xcodebuildOptions}`;
899
+ cmd += ` ${pinsArm64 ? withRuntimeSimulatorArchs(xcodebuildOptions) : xcodebuildOptions}`;
881
900
  }
882
901
  commands.push(cmd);
883
902
  commands.push('');
@@ -1071,6 +1090,16 @@ export class XcodeBuildForSimulatorStepExecutor extends BaseStepExecutor {
1071
1090
  ` -scheme '${escapedScheme}'` +
1072
1091
  ' -derivedDataPath "$DERIVED_DATA_PATH"',
1073
1092
  }));
1093
+ const pinsArm64 = pinsSimulatorArm64(xcodebuildOptions);
1094
+ if (pinsArm64) {
1095
+ commands.push(...simulatorArchsLines({
1096
+ projectPath: escapedPath,
1097
+ scheme: escapedScheme,
1098
+ configuration: configuration ? this.escapeBash(configuration) : '',
1099
+ destination: this.escapeBash(destination),
1100
+ xcconfig: true,
1101
+ }));
1102
+ }
1074
1103
  // Build command
1075
1104
  let cmd = 'xcodebuild';
1076
1105
  if (performClean === 'yes') {
@@ -1119,7 +1148,7 @@ export class XcodeBuildForSimulatorStepExecutor extends BaseStepExecutor {
1119
1148
  cmd += ` -derivedDataPath "$DERIVED_DATA_PATH"`;
1120
1149
  cmd += ' -xcconfig "$XCCONFIG_FILE"';
1121
1150
  if (xcodebuildOptions) {
1122
- cmd += ` ${xcodebuildOptions}`;
1151
+ cmd += ` ${pinsArm64 ? withRuntimeSimulatorArchs(xcodebuildOptions) : xcodebuildOptions}`;
1123
1152
  }
1124
1153
  commands.push(cmd);
1125
1154
  commands.push('');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invarn/cibuild",
3
- "version": "2.9.1",
3
+ "version": "2.9.4",
4
4
  "description": "CI Build CLI — local pipeline orchestration and validation",
5
5
  "type": "module",
6
6
  "main": "dist/cli.cjs",