Skip to content

Add native Windows Arm64 build lane - #171

Open
yeelam-gordon wants to merge 12 commits into
OpenShot:developfrom
yeelam-gordon:feature/windows-arm64-native
Open

Add native Windows Arm64 build lane#171
yeelam-gordon wants to merge 12 commits into
OpenShot:developfrom
yeelam-gordon:feature/windows-arm64-native

Conversation

@yeelam-gordon

Copy link
Copy Markdown

Summary

  • add an additive native Windows Arm64 GitLab build lane using MSYS2 CLANGARM64
  • add a non-release GitHub-hosted windows-11-arm presubmit
  • add shared fail-closed native-host and PE payload architecture validation
  • add a versioned CLANGARM64 dependency lock for the three-repository pipeline

Motivation

This is PR A of the Windows Arm64 chain requested by OpenShot/openshot-qt#5853. It produces the native OpenShotAudio artifact consumed by libopenshot.

Validation

  • CI YAML parses successfully
  • validator rejects this AMD64 host when --require-native-arm64 is set
  • synthetic Arm64 PE passes and AMD64 PE fails
  • all 24 concrete locked packages and versions match current MSYS2 CLANGARM64 metadata
  • git diff --check passes

Boundaries

The GitLab lane requires a maintainer-provisioned windows-arm64 runner. Signing and physical-device validation are not part of this library PR.

AI assistance disclosure: implementation and review used GitHub Copilot CLI.

Add hosted and production CLANGARM64 lanes with fail-closed native host and payload architecture validation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run shared fail-closed payload and native-host checks in both Arm64 CI lanes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
yeelam-gordon and others added 8 commits August 28, 2026 18:07
Harden API detection, verify the installed package lock, and make validator tests safe to run directly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Clarify invalid-payload diagnostics, install and verify the complete package lock, and keep the private GitLab lane opt-in until a runner is registered.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fail closed on malformed lock entries, validate dynamic imports explicitly, and install hosted-runner packages directly from the shared lock.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Describe the require-payload condition in terms of valid PE candidates, matching the fail-closed implementation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Document intentional fail-on-version-drift behavior and include executable payloads in the validator description.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Allow native Arm64 JUCE builds to use WASAPI without including missing ASIO headers, and add REUSE metadata to the shared CI files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sort traversed directories and files so architecture reports are stable across runs and machines.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Archive the complete Arm64 install tree and make package-lock reports self-contained, robust, and fully tested.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@yeelam-gordon

Copy link
Copy Markdown
Author

Automated review is being run on mirror PR yeelam-gordon#1. Findings and fixes are pushed to this same head branch. A GitHub-hosted Windows Arm64 workflow has exercised the native CLANGARM64 configure/build path; final current-head CI remains queued.

yeelam-gordon and others added 2 commits August 28, 2026 11:55
Export JUCE_ASIO=0 when the SDK is unavailable and fail closed on package hashes that are not yet verified.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Install exact package versions from the lock and reject unsafe package names before invoking pacman.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@yeelam-gordon

Copy link
Copy Markdown
Author

Native hosted Windows Arm64 evidence: workflow https://github.com/yeelam-gordon/libopenshot-audio/actions/runs/33169651801 attempt 2 passed the complete CLANGARM64 package install, configure, compile, test, install, and architecture-validation job.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant