diff --git a/.buildchain/kfd-1/libnode-contract-world.witness.json b/.buildchain/kfd-1/libnode-contract-world.witness.json index 3ac12b6..81ffdf5 100644 --- a/.buildchain/kfd-1/libnode-contract-world.witness.json +++ b/.buildchain/kfd-1/libnode-contract-world.witness.json @@ -10,12 +10,12 @@ "contractWorld": { "id": "libnode-release-contract", "schemaId": "https://kfd.libkungfu.dev/schemas/kfd-1/contract-world.schema.json", - "digest": "sha256:30ba96a39aba6cd56222a785b4e9c0e9864ecf414d51a74ddfefee9c3ae8b1bc" + "digest": "sha256:3501d41477306ffca52f58991423e7aeb69bf759d5e35904f19864b1b37cb54a" }, "standardContract": { "id": "libnode-release-contract", "path": "libnode.release.json", - "sha256": "30ba96a39aba6cd56222a785b4e9c0e9864ecf414d51a74ddfefee9c3ae8b1bc" + "sha256": "3501d41477306ffca52f58991423e7aeb69bf759d5e35904f19864b1b37cb54a" }, "selfHostingBoundary": { "mode": "self-hosted-standard-contract", @@ -33,33 +33,33 @@ { "name": "package-manifest", "sourcePath": "package.json", - "sourceSha256": "de626755c62f2b3b252e0680b86e5dcddab7fdf8207ed76627e8c780d3210f56", + "sourceSha256": "c3eb6715a4926521a8e7d9e049ea6380daed81a605ac6d4d9a9903854a9e235a", "artifactPath": "package.json", - "expectedSha256": "de626755c62f2b3b252e0680b86e5dcddab7fdf8207ed76627e8c780d3210f56", + "expectedSha256": "c3eb6715a4926521a8e7d9e049ea6380daed81a605ac6d4d9a9903854a9e235a", "byteForByte": true }, { "name": "release-manifest", "sourcePath": "libnode.release.json", - "sourceSha256": "30ba96a39aba6cd56222a785b4e9c0e9864ecf414d51a74ddfefee9c3ae8b1bc", + "sourceSha256": "3501d41477306ffca52f58991423e7aeb69bf759d5e35904f19864b1b37cb54a", "artifactPath": "libnode.release.json", - "expectedSha256": "30ba96a39aba6cd56222a785b4e9c0e9864ecf414d51a74ddfefee9c3ae8b1bc", + "expectedSha256": "3501d41477306ffca52f58991423e7aeb69bf759d5e35904f19864b1b37cb54a", "byteForByte": true }, { "name": "buildchain-config", "sourcePath": "buildchain.toml", - "sourceSha256": "3e9634b497b36eb78d3ea5eb0063fc49a98a32d6d34d34047aa5fe72e4de2f58", + "sourceSha256": "fbc596052c556a59812070ad5d5be093e51ba995cffa6e7b809eb60bbc8f54ae", "artifactPath": "buildchain.toml", - "expectedSha256": "3e9634b497b36eb78d3ea5eb0063fc49a98a32d6d34d34047aa5fe72e4de2f58", + "expectedSha256": "fbc596052c556a59812070ad5d5be093e51ba995cffa6e7b809eb60bbc8f54ae", "byteForByte": true }, { "name": "package-builder", "sourcePath": ".gyp/node-platform-package.js", - "sourceSha256": "e457328484352bb48404872dad0a6747bfdfb78c67dbb1d8f0cd5d93ae5fecd4", + "sourceSha256": "d64eabf976d0544cde1725a3dc1c0fa053207514332868b488c9cfdb5b454297", "artifactPath": ".gyp/node-platform-package.js", - "expectedSha256": "e457328484352bb48404872dad0a6747bfdfb78c67dbb1d8f0cd5d93ae5fecd4", + "expectedSha256": "d64eabf976d0544cde1725a3dc1c0fa053207514332868b488c9cfdb5b454297", "byteForByte": true }, { @@ -73,33 +73,33 @@ { "name": "kfd3-artifact-verifier", "sourcePath": ".gyp/libnode-kfd3-artifact-verify.js", - "sourceSha256": "783b329aeaa4b2196db5c754ff2c8ac247467af8655d8caba52755e5e88677ba", + "sourceSha256": "6f39a0a7ae08ec48745cd8110d8a28b620e73a4623e48cb064b047715d89878f", "artifactPath": ".gyp/libnode-kfd3-artifact-verify.js", - "expectedSha256": "783b329aeaa4b2196db5c754ff2c8ac247467af8655d8caba52755e5e88677ba", + "expectedSha256": "6f39a0a7ae08ec48745cd8110d8a28b620e73a4623e48cb064b047715d89878f", "byteForByte": true }, { "name": "release-workflow", "sourcePath": ".github/workflows/release-new-version.yml", - "sourceSha256": "4034d36e9820d152eee70d4f7e34d08ce597893042206bde88443e2256d12212", + "sourceSha256": "d843d99c40ac0772129bfb2d983964b72604d478a8d05a7d4767284317888607", "artifactPath": ".github/workflows/release-new-version.yml", - "expectedSha256": "4034d36e9820d152eee70d4f7e34d08ce597893042206bde88443e2256d12212", + "expectedSha256": "d843d99c40ac0772129bfb2d983964b72604d478a8d05a7d4767284317888607", "byteForByte": true }, { "name": "kfd3-collaboration-interface", "sourcePath": ".buildchain/kfd-3/collaboration-interface.json", - "sourceSha256": "bbdfc87c532fe50fca92ca8415fc624af95c79fa7c9a4825efcee233701bd8c8", + "sourceSha256": "7479a8efa55109007aa414870c754169df64a0d0b5e37f16579acbd5a423e499", "artifactPath": ".buildchain/kfd-3/collaboration-interface.json", - "expectedSha256": "bbdfc87c532fe50fca92ca8415fc624af95c79fa7c9a4825efcee233701bd8c8", + "expectedSha256": "7479a8efa55109007aa414870c754169df64a0d0b5e37f16579acbd5a423e499", "byteForByte": true }, { "name": "kfd3-prebuild-witness", "sourcePath": ".buildchain/kfd-3/collaboration-interface.prebuild.json", - "sourceSha256": "d9577384ae3690fadb3739635f88c209e456ca5eed69c2c2fe1fb3c76a47d0b5", + "sourceSha256": "3f7e7dece8211423531c3b3ebde2dd1f560ff3992f4c3583bdaaba32c51b0bc1", "artifactPath": ".buildchain/kfd-3/collaboration-interface.prebuild.json", - "expectedSha256": "d9577384ae3690fadb3739635f88c209e456ca5eed69c2c2fe1fb3c76a47d0b5", + "expectedSha256": "3f7e7dece8211423531c3b3ebde2dd1f560ff3992f4c3583bdaaba32c51b0bc1", "byteForByte": true } ] diff --git a/.buildchain/kfd-2/public-release-trust.claim.json b/.buildchain/kfd-2/public-release-trust.claim.json index dd51c56..b1b9972 100644 --- a/.buildchain/kfd-2/public-release-trust.claim.json +++ b/.buildchain/kfd-2/public-release-trust.claim.json @@ -1,7 +1,7 @@ { "id": "claim:libnode-public-release-trust", "public": true, - "claim": "Libnode npm releases are anchored to libnode.release.json, built as a four-platform package set, verified by product-owned package gates, and published through Buildchain trusted publishing.", + "claim": "Libnode npm releases are anchored to libnode.release.json, built as a five-platform package set, verified by product-owned package gates, and published through Buildchain trusted publishing.", "sourceBindings": [ { "id": "release-manifest", @@ -54,6 +54,10 @@ "name": "@kungfu-tech/libnode-darwin-arm64", "kind": "npm-platform-package" }, + { + "name": "@kungfu-tech/libnode-darwin-x64", + "kind": "npm-platform-package" + }, { "name": "@kungfu-tech/libnode-linux-x64", "kind": "npm-platform-package" diff --git a/.buildchain/kfd-3/collaboration-interface.json b/.buildchain/kfd-3/collaboration-interface.json index 9da7998..a88f419 100644 --- a/.buildchain/kfd-3/collaboration-interface.json +++ b/.buildchain/kfd-3/collaboration-interface.json @@ -45,6 +45,16 @@ "public": true, "sourcePath": ".gyp/node-platform-package.js" }, + { + "id": "npm:platform-darwin-x64", + "name": "@kungfu-tech/libnode-darwin-x64 package", + "kind": "platform-package", + "availability": "shipped", + "visibility": "public", + "participantFacing": true, + "public": true, + "sourcePath": ".gyp/node-platform-package.js" + }, { "id": "npm:platform-linux-x64", "name": "@kungfu-tech/libnode-linux-x64 package", @@ -145,7 +155,7 @@ "The npm version is anchored to libnode.release.json npmVersion.", "The upstream Node version is anchored to libnode.release.json nodeTag and nodeCommit.", "The release package set is published platforms-first and main-last.", - "macOS arm64, Linux x64, Linux arm64, and Windows x64 platform packages are public release surfaces.", + "macOS arm64, macOS x64, Linux x64, Linux arm64, and Windows x64 platform packages are public release surfaces.", "macOS and Linux link aliases are materialized by package postinstall policy instead of npm tarball symlinks.", "Windows packages must include both DLL and import library outputs." ], diff --git a/.buildchain/kfd-3/collaboration-interface.prebuild.json b/.buildchain/kfd-3/collaboration-interface.prebuild.json index 8a49be6..77e1463 100644 --- a/.buildchain/kfd-3/collaboration-interface.prebuild.json +++ b/.buildchain/kfd-3/collaboration-interface.prebuild.json @@ -11,13 +11,13 @@ "sourceRegistry": { "id": "libnode-release-contract", "path": "libnode.release.json", - "version": "22.22.3-kf.5-alpha.3" + "version": "22.22.3-kf.5-alpha.4" }, - "collaborationInterfaceDigest": "sha256:bbdfc87c532fe50fca92ca8415fc624af95c79fa7c9a4825efcee233701bd8c8", + "collaborationInterfaceDigest": "sha256:7479a8efa55109007aa414870c754169df64a0d0b5e37f16579acbd5a423e499", "collaborationInterface": { "schemaVersion": 1, "contract": "kfd-3-collaboration-interface", - "digest": "sha256:bbdfc87c532fe50fca92ca8415fc624af95c79fa7c9a4825efcee233701bd8c8", + "digest": "sha256:7479a8efa55109007aa414870c754169df64a0d0b5e37f16579acbd5a423e499", "product": { "name": "Libnode", "package": "@kungfu-tech/libnode", @@ -62,6 +62,16 @@ "public": true, "sourcePath": ".gyp/node-platform-package.js" }, + { + "id": "npm:platform-darwin-x64", + "name": "@kungfu-tech/libnode-darwin-x64 package", + "kind": "platform-package", + "availability": "shipped", + "visibility": "public", + "participantFacing": true, + "public": true, + "sourcePath": ".gyp/node-platform-package.js" + }, { "id": "npm:platform-linux-x64", "name": "@kungfu-tech/libnode-linux-x64 package", diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8340bf9..c5d7474 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: with: runner-preset: custom platforms-json: >- - [{"id":"linux-x64","name":"Linux x64","platform":"linux","runner":"[\"self-hosted\",\"Linux\",\"X64\",\"kungfu-build-v4-linux-x64\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"linux-arm64","name":"Linux ARM64","platform":"linux","runner":"[\"ubuntu-24.04-arm\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"macos-arm64","name":"macOS ARM64","platform":"macos","runner":"[\"self-hosted\",\"macOS\",\"ARM64\",\"kungfu-build-v4-macos-arm64\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"windows-x64","name":"Windows x64","platform":"windows","runner":"[\"self-hosted\",\"Windows\",\"X64\",\"kungfu-build-v4-windows-x64\"]","capabilities":["node","native-toolchain","product-artifacts"]}] + [{"id":"linux-x64","name":"Linux x64","platform":"linux","runner":"[\"self-hosted\",\"Linux\",\"X64\",\"kungfu-build-v4-linux-x64\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"linux-arm64","name":"Linux ARM64","platform":"linux","runner":"[\"ubuntu-24.04-arm\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"macos-arm64","name":"macOS ARM64","platform":"macos","runner":"[\"self-hosted\",\"macOS\",\"ARM64\",\"kungfu-build-v4-macos-arm64\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"macos-x64","name":"macOS x64","platform":"macos","runner":"[\"macos-15-intel\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"windows-x64","name":"Windows x64","platform":"windows","runner":"[\"self-hosted\",\"Windows\",\"X64\",\"kungfu-build-v4-windows-x64\"]","capabilities":["node","native-toolchain","product-artifacts"]}] buildchain-alpha-contract-lock-path: buildchain.alpha-contract-lock.json buildchain-stable-contract-lock-path: buildchain.contract-lock.json buildchain-contract-drift-issue-mode: compatible-and-breaking diff --git a/.github/workflows/release-new-version.yml b/.github/workflows/release-new-version.yml index 1baa78e..15f979a 100644 --- a/.github/workflows/release-new-version.yml +++ b/.github/workflows/release-new-version.yml @@ -36,11 +36,12 @@ jobs: release-candidate-workflow-name: ${{ startsWith(github.ref_name, 'release/') && 'Release - Verify' || 'Build' }} artifact-patterns: | libnode-macos-arm64-* + libnode-macos-x64-* libnode-linux-x64-* libnode-linux-arm64-* libnode-windows-x64-* required-status-check: build - required-artifact-count: 4 + required-artifact-count: 5 publish-mode: publish-final-version publish-dist-tag: ${{ startsWith(github.ref_name, 'alpha/') && 'alpha' || 'latest' }} publish-package-set-order: platforms-first-main-last diff --git a/.github/workflows/release-verify.yaml b/.github/workflows/release-verify.yaml index 1f011f5..41a7be0 100644 --- a/.github/workflows/release-verify.yaml +++ b/.github/workflows/release-verify.yaml @@ -23,7 +23,7 @@ jobs: with: runner-preset: custom platforms-json: >- - [{"id":"linux-x64","name":"Linux x64","platform":"linux","runner":"[\"self-hosted\",\"Linux\",\"X64\",\"kungfu-build-v4-linux-x64\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"linux-arm64","name":"Linux ARM64","platform":"linux","runner":"[\"ubuntu-24.04-arm\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"macos-arm64","name":"macOS ARM64","platform":"macos","runner":"[\"self-hosted\",\"macOS\",\"ARM64\",\"kungfu-build-v4-macos-arm64\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"windows-x64","name":"Windows x64","platform":"windows","runner":"[\"self-hosted\",\"Windows\",\"X64\",\"kungfu-build-v4-windows-x64\"]","capabilities":["node","native-toolchain","product-artifacts"]}] + [{"id":"linux-x64","name":"Linux x64","platform":"linux","runner":"[\"self-hosted\",\"Linux\",\"X64\",\"kungfu-build-v4-linux-x64\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"linux-arm64","name":"Linux ARM64","platform":"linux","runner":"[\"ubuntu-24.04-arm\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"macos-arm64","name":"macOS ARM64","platform":"macos","runner":"[\"self-hosted\",\"macOS\",\"ARM64\",\"kungfu-build-v4-macos-arm64\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"macos-x64","name":"macOS x64","platform":"macos","runner":"[\"macos-15-intel\"]","capabilities":["node","native-toolchain","product-artifacts"]},{"id":"windows-x64","name":"Windows x64","platform":"windows","runner":"[\"self-hosted\",\"Windows\",\"X64\",\"kungfu-build-v4-windows-x64\"]","capabilities":["node","native-toolchain","product-artifacts"]}] buildchain-alpha-contract-lock-path: buildchain.alpha-contract-lock.json buildchain-stable-contract-lock-path: buildchain.contract-lock.json buildchain-contract-drift-issue-mode: compatible-and-breaking diff --git a/.gyp/libnode-entrypoint.test.js b/.gyp/libnode-entrypoint.test.js index 39e8350..209a3c6 100644 --- a/.gyp/libnode-entrypoint.test.js +++ b/.gyp/libnode-entrypoint.test.js @@ -36,3 +36,11 @@ test('Linux ARM64 resolves the published platform package', () => { assert.equal(loaded.exports.platform, 'linux-arm64'); assert.equal(loaded.exports.platformPackageName, '@kungfu-tech/libnode-linux-arm64'); }); + +test('macOS x64 resolves the published platform package', () => { + const loaded = loadEntrypoint('darwin', 'x64'); + + assert.deepEqual(loaded.loadedPackages, ['@kungfu-tech/libnode-darwin-x64']); + assert.equal(loaded.exports.platform, 'darwin-x64'); + assert.equal(loaded.exports.platformPackageName, '@kungfu-tech/libnode-darwin-x64'); +}); diff --git a/.gyp/libnode-kfd-release-evidence.test.js b/.gyp/libnode-kfd-release-evidence.test.js index e147d87..6044734 100644 --- a/.gyp/libnode-kfd-release-evidence.test.js +++ b/.gyp/libnode-kfd-release-evidence.test.js @@ -17,13 +17,25 @@ test('KFD-3 prebuild witness mirrors every authoritative public surface', () => assert.deepEqual(witnessedSurfaceIds, authoritativeSurfaceIds); assert.ok(witnessedSurfaceIds.includes('npm:platform-linux-arm64')); + assert.ok(witnessedSurfaceIds.includes('npm:platform-darwin-x64')); assert.equal(prebuild.collaborationInterface.digest, prebuild.collaborationInterfaceDigest); }); -test('KFD-2 public release claim covers the four-platform package set', () => { +test('KFD-2 public release claim covers the five-platform package set', () => { const trustClaim = readJson('.buildchain/kfd-2/public-release-trust.claim.json'); const artifactNames = trustClaim.artifacts.map(({ name }) => name); - assert.match(trustClaim.claim, /four-platform package set/); + assert.match(trustClaim.claim, /five-platform package set/); assert.ok(artifactNames.includes('@kungfu-tech/libnode-linux-arm64')); + assert.ok(artifactNames.includes('@kungfu-tech/libnode-darwin-x64')); +}); + +test('Build and promotion workflows require the native macOS x64 artifact', () => { + const buildWorkflow = fs.readFileSync(path.join(repoRoot, '.github/workflows/build.yml'), 'utf8'); + const releaseWorkflow = fs.readFileSync(path.join(repoRoot, '.github/workflows/release-new-version.yml'), 'utf8'); + + assert.match(buildWorkflow, /"id":"macos-x64"/); + assert.match(buildWorkflow, /"runner":"\[\\"macos-15-intel\\"\]"/); + assert.match(releaseWorkflow, /libnode-macos-x64-\*/); + assert.match(releaseWorkflow, /required-artifact-count: 5/); }); diff --git a/.gyp/libnode-kfd3-artifact-verify.js b/.gyp/libnode-kfd3-artifact-verify.js index b9eb40a..d64203f 100644 --- a/.gyp/libnode-kfd3-artifact-verify.js +++ b/.gyp/libnode-kfd3-artifact-verify.js @@ -14,7 +14,8 @@ const payloadRoot = path.resolve( const packageNames = { main: '@kungfu-tech/libnode', - darwin: '@kungfu-tech/libnode-darwin-arm64', + darwinArm64: '@kungfu-tech/libnode-darwin-arm64', + darwinX64: '@kungfu-tech/libnode-darwin-x64', linuxX64: '@kungfu-tech/libnode-linux-x64', linuxArm64: '@kungfu-tech/libnode-linux-arm64', windows: '@kungfu-tech/libnode-win32-x64', @@ -135,14 +136,16 @@ function main() { const files = { main: findPackageTarball(packageNames.main), - darwin: findPackageTarball(packageNames.darwin), + darwinArm64: findPackageTarball(packageNames.darwinArm64), + darwinX64: findPackageTarball(packageNames.darwinX64), linuxX64: findPackageTarball(packageNames.linuxX64), linuxArm64: findPackageTarball(packageNames.linuxArm64), windows: findPackageTarball(packageNames.windows), }; verifyMainPackage(files.main); - verifyDarwinPackage(files.darwin); + verifyDarwinPackage(files.darwinArm64); + verifyDarwinPackage(files.darwinX64); verifyLinuxPackage(files.linuxX64); verifyLinuxPackage(files.linuxArm64); verifyWindowsPackage(files.windows); @@ -188,6 +191,12 @@ function main() { 'platform-package', '.gyp/node-platform-package.js', ), + surface( + 'npm:platform-darwin-x64', + '@kungfu-tech/libnode-darwin-x64 package', + 'platform-package', + '.gyp/node-platform-package.js', + ), surface( 'npm:platform-linux-x64', '@kungfu-tech/libnode-linux-x64 package', diff --git a/.gyp/node-platform-package.js b/.gyp/node-platform-package.js index a0879fb..7a931e2 100644 --- a/.gyp/node-platform-package.js +++ b/.gyp/node-platform-package.js @@ -19,6 +19,14 @@ const platformPackages = [ binaries: ['libnode*.dylib'], aliases: [{ source: 'libnode.*.dylib', match: '^libnode\\.\\d+\\.dylib$', target: 'libnode.dylib' }], }, + { + key: 'darwin-x64', + name: '@kungfu-tech/libnode-darwin-x64', + os: ['darwin'], + cpu: ['x64'], + binaries: ['libnode*.dylib'], + aliases: [{ source: 'libnode.*.dylib', match: '^libnode\\.\\d+\\.dylib$', target: 'libnode.dylib' }], + }, { key: 'linux-x64', name: '@kungfu-tech/libnode-linux-x64', diff --git a/.gyp/npm-publish-tarballs.js b/.gyp/npm-publish-tarballs.js index da367de..7c62b32 100644 --- a/.gyp/npm-publish-tarballs.js +++ b/.gyp/npm-publish-tarballs.js @@ -11,6 +11,10 @@ const platformPackageRequirements = { binaries: [/^package\/dist\/node\/libnode\.\d+\.dylib$/], aliases: [{ target: 'package/dist/node/libnode.dylib', helper: 'package/ensure-libnode-aliases.js' }], }, + '@kungfu-tech/libnode-darwin-x64': { + binaries: [/^package\/dist\/node\/libnode\.\d+\.dylib$/], + aliases: [{ target: 'package/dist/node/libnode.dylib', helper: 'package/ensure-libnode-aliases.js' }], + }, '@kungfu-tech/libnode-linux-x64': { binaries: [/^package\/dist\/node\/libnode\.so\.\d+$/], aliases: [{ target: 'package/dist/node/libnode.so', helper: 'package/ensure-libnode-aliases.js' }], diff --git a/README.md b/README.md index 4d67b19..f3ffaa0 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,8 @@ npm install @kungfu-tech/libnode The main package resolves the matching platform package installed through npm optional dependencies, such as `@kungfu-tech/libnode-darwin-arm64`, -`@kungfu-tech/libnode-linux-x64`, `@kungfu-tech/libnode-linux-arm64`, or -`@kungfu-tech/libnode-win32-x64`. +`@kungfu-tech/libnode-darwin-x64`, `@kungfu-tech/libnode-linux-x64`, +`@kungfu-tech/libnode-linux-arm64`, or `@kungfu-tech/libnode-win32-x64`. ### Compile and Link @@ -35,6 +35,8 @@ The `Build` workflow runs through Kungfu Buildchain and builds the Node.js versi Linux ARM64 is built on the native GitHub-hosted `ubuntu-24.04-arm` runner and participates in the same source lock, artifact summary, and release passport as the other supported platforms. +macOS x64 is built natively on GitHub-hosted `macos-15-intel`; Rosetta +observation is not accepted as x64 package evidence. Npm publication is handled by Buildchain release-candidate promotion. Reviewed channel PRs build the release candidate once and upload the platform package diff --git a/buildchain.alpha-contract-lock.json b/buildchain.alpha-contract-lock.json index 8dc60f8..620b41b 100644 --- a/buildchain.alpha-contract-lock.json +++ b/buildchain.alpha-contract-lock.json @@ -3,13 +3,13 @@ "contract": "kungfu-buildchain-contract-lock", "buildchain": { "ref": "v3-alpha", - "resolvedSha": "c83cb444d79c2e647de6e12a0bfde68dfaf57701", + "resolvedSha": "9d74fb4557e71992db3516b5ba750d57cb9f3521", "contract": "kungfu-buildchain-runtime-contract-world", - "contractDigest": "sha256:a92b0189000ef05785d4c5097189e20856838adf94307c4174f36d5271616d16", - "compatibilityDigest": "sha256:008b1c5a90a787cf30106829ac7aca68ab501f6d9c375e415d9c5c6b89039f46", + "contractDigest": "sha256:41501b9993621832a124f6ad5180e00b5b9b88435b70ad277cd842f1830aad2c", + "compatibilityDigest": "sha256:32a651504c57829085dc8863f0e41dee98eb60708ff6dec958c9c7e4b1010102", "majorLine": "v3", "compatibilityPolicy": "major-compatible", - "acceptedAt": "2026-07-27T12:10:18.000Z", + "acceptedAt": "2026-07-31T12:11:30.000Z", "surfaces": [ { "id": "reusable-build", @@ -39,7 +39,7 @@ { "id": "auditable-demo", "kind": "workflow", - "breakingDigest": "sha256:a68f34d3dc24e0e0cd0040f978c174b62bf29a0472cebe1c43751e62408e6af6" + "breakingDigest": "sha256:425f8d3d1ba205dd6fe35a20f1dc6dad7d7c563872283e3af79fea4d5c475692" }, { "id": "promote-buildchain-ref-action", @@ -109,7 +109,7 @@ { "id": "controller:build-lifecycle", "kind": "controller", - "breakingDigest": "sha256:30745921541e9b0f70475bb2178c2559f6aef248f6680670ccd44d8c5a69a6b1" + "breakingDigest": "sha256:6b8d38e92b2c67b5bc83fae0a3fd95bfa47582fbc176e6cdeebe7630a57534cb" }, { "id": "controller:build-channel-router", diff --git a/buildchain.toml b/buildchain.toml index f84212c..d7fb290 100644 --- a/buildchain.toml +++ b/buildchain.toml @@ -42,6 +42,8 @@ artifact_dirs = ["dist/node", "build/Release", "build/stage", "build/npm", "node cache_dirs = [ "/Users/gha-runner/.cache/kungfu/build-cache/ccache/libnode/darwin-arm64", "/Users/gha-runner/.cache/kungfu/build-cache/sccache/libnode/darwin-arm64", + "/Users/runner/.cache/kungfu/build-cache/ccache/libnode/darwin-x64", + "/Users/runner/.cache/kungfu/build-cache/sccache/libnode/darwin-x64", "/home/gha-runner/.cache/kungfu/build-cache/ccache/libnode/linux-x64", "/home/gha-runner/.cache/kungfu/build-cache/sccache/libnode/linux-x64", "/home/runner/.cache/kungfu/build-cache/ccache/libnode/linux-x64", diff --git a/libnode.release.json b/libnode.release.json index 46b0f4d..fce9656 100644 --- a/libnode.release.json +++ b/libnode.release.json @@ -4,5 +4,5 @@ "nodeTag": "v22.22.3", "nodeCommit": "fdfa0ff0dbaf0fbf4d7d6d89a2ab807f3177fa5c", "libnodeRevision": 5, - "npmVersion": "22.22.3-kf.5-alpha.3" + "npmVersion": "22.22.3-kf.5-alpha.4" } diff --git a/package.json b/package.json index e09e52b..dc9b22d 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "name": "kungfu-trader", "email": "info@kungfu.link" }, - "version": "22.22.3-kf.5-alpha.3", + "version": "22.22.3-kf.5-alpha.4", "description": "Build shared node lib", "license": "Apache-2.0", "main": "src/js/index.js", diff --git a/src/js/index.js b/src/js/index.js index ff96c70..5739d12 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -5,6 +5,7 @@ const rootDir = path.dirname(path.dirname(__dirname)); const localDistDir = path.join(rootDir, 'dist', 'node'); const platformPackageNames = { 'darwin-arm64': '@kungfu-tech/libnode-darwin-arm64', + 'darwin-x64': '@kungfu-tech/libnode-darwin-x64', 'linux-arm64': '@kungfu-tech/libnode-linux-arm64', 'linux-x64': '@kungfu-tech/libnode-linux-x64', 'win32-x64': '@kungfu-tech/libnode-win32-x64',