From a914b98d7450794340b01537f7670600e05c3418 Mon Sep 17 00:00:00 2001 From: zackees Date: Sun, 28 Jun 2026 14:06:57 -0700 Subject: [PATCH] ci: finish soldr build migration for PyO3 ext + final else arm (#1012 PR 2 followup) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Completes the soldr#1012 PR 2 migration in fbuild's template. PR 6 (#797) migrated the win-msvc xwin arm; this followup migrates the remaining \`soldr cargo build\` invocations to \`soldr build\`: * PyO3 ext, Linux→win-msvc arm: \`cargo xwin build\` → \`soldr build\` * PyO3 ext, macos_cross arm: \`soldr cargo build\` → \`soldr build\` * PyO3 ext, macOS native arm: \`soldr cargo build\` → \`soldr build\` * PyO3 ext, fallback arm: \`soldr cargo build\` → \`soldr build\` * release binaries, final else arm: \`soldr cargo build\` → \`soldr build\` After this every soldr-surface invocation in the template uses the blessed verb. The explicit-legacy-tool invocations (\`cargo zigbuild\` for linux musl, \`soldr cargo zigbuild\` for mac cross via zigbuild) stay on their existing tools — they absorb into the blessed path under soldr#1010 Phase 5 (mac zigbuild) and Phase 8 (legacy opt-in flags) tracking. Supersedes PR #796 (which was forked from main before PR 6 and caught merge conflicts during rebase). Same surface effect. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/template_native_build.yml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/template_native_build.yml b/.github/workflows/template_native_build.yml index affb0f0d1..467cb1ad0 100644 --- a/.github/workflows/template_native_build.yml +++ b/.github/workflows/template_native_build.yml @@ -219,7 +219,10 @@ jobs: -p fbuild-cli \ -p fbuild-daemon else - soldr cargo build --release --target ${{ inputs.target }} \ + # soldr#1012 PR 2 followup: blessed default surface (was + # `soldr cargo build`). Same byte-identical artifact today; + # gains catalogue-driven sysroot prep as #1012 phases ship. + soldr build --release --target ${{ inputs.target }} \ -p fbuild-cli \ -p fbuild-daemon fi @@ -253,7 +256,12 @@ jobs: --target ${{ inputs.target }} -p fbuild-python \ --features extension-module elif [ "${{ runner.os }}" = "Linux" ] && [[ "${{ inputs.target }}" == *-pc-windows-msvc ]]; then - PYO3_NO_PYTHON=1 cargo xwin build --release \ + # Blessed Linux→Windows MSVC path for PyO3 ext + # (soldr#1012 PR 2 followup). soldr build's + # Commands::Build installs the soldr-clang-shim so + # ring + cc-rs route through clang-cl correctly even + # for aarch64 PyO3 dylib compilation. + PYO3_NO_PYTHON=1 soldr build --release \ --target-dir "${PYTHON_TARGET_DIR}" \ --target ${{ inputs.target }} -p fbuild-python \ --features extension-module @@ -268,17 +276,20 @@ jobs: --target "${PYO3_TARGET}.2.17" -p fbuild-python \ --features extension-module elif [ "${{ inputs.macos_cross }}" = "true" ]; then - PYO3_NO_PYTHON=1 soldr cargo build --release \ + # soldr#1012 PR 2 followup: blessed default surface. + PYO3_NO_PYTHON=1 soldr build --release \ --target-dir "${PYTHON_TARGET_DIR}" \ --target ${{ inputs.target }} -p fbuild-python \ --features extension-module elif [ "${{ runner.os }}" = "macOS" ]; then - soldr cargo build --release --target-dir "${PYTHON_TARGET_DIR}" \ + # soldr#1012 PR 2 followup: blessed default surface. + soldr build --release --target-dir "${PYTHON_TARGET_DIR}" \ --target ${{ inputs.target }} \ -p fbuild-python \ --features extension-module else - soldr cargo build --release --target-dir "${PYTHON_TARGET_DIR}" \ + # soldr#1012 PR 2 followup: blessed default surface. + soldr build --release --target-dir "${PYTHON_TARGET_DIR}" \ --target ${{ inputs.target }} \ -p fbuild-python \ --features extension-module