Skip to content

Refactor libbluray-build to BuildShared and migrate workflows to reusable actions#2

Merged
cxfksword merged 2 commits intomainfrom
copilot/refactor-actions-and-docs
Apr 1, 2026
Merged

Refactor libbluray-build to BuildShared and migrate workflows to reusable actions#2
cxfksword merged 2 commits intomainfrom
copilot/refactor-actions-and-docs

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 1, 2026

This PR aligns libbluray-build with the lcms2-build pattern by adopting mpvkit/BuildShared for build orchestration and moving CI logic to reusable workflows. It also updates package/docs metadata and repository ignore rules to match the new structure.

  • BuildScripts refactor (BuildShared integration)

    • Replaced local monolithic build framework usage with BuildShared APIs.
    • Updated Sources/BuildScripts/Package.swift to add:
      • BuildShared dependency
      • executable product declaration
      • target dependency on BuildShared
      • macOS platform constraint (.macOS(.v11))
    • Refactored Sources/BuildScripts/XCFrameworkBuild/main.swift to use:
      • BuildRunner.performCommand()
      • BuildLibrary-conforming Library enum
      • BaseBuild / ZipBaseBuild from BuildShared
    • Removed Sources/BuildScripts/XCFrameworkBuild/base.swift (local duplicated framework implementation).
  • GitHub Actions migration

    • Replaced custom workflow implementations with reusable workflows from mpvkit/BuildShared:
      • .github/workflows/build.ymlBuildShared/.github/workflows/build.yml@main
      • .github/workflows/check_version.ymlBuildShared/.github/workflows/check_version.yml@main
    • Wired libbluray-specific inputs (library, repository, custom pr_body) in the delegating workflows.
    • Kept explicit job-level permissions blocks in local workflow files.
  • Docs/template alignment

    • Updated docs/Package.template.swift platform baselines to .macOS(.v11), .iOS(.v14), .tvOS(.v14) and normalized product formatting.
    • Updated README.md to include MPVKit component context while preserving build usage instructions.
  • Repository hygiene

    • Appended Sources/BuildScripts/Package.resolved to the end of .gitignore.
// Sources/BuildScripts/XCFrameworkBuild/main.swift
import Foundation
import BuildShared

let options = try BuildRunner.performCommand()
try BuildOpenSSL(options: options).buildALL()
try BuildFreetype(options: options).buildALL()
try BuildBluray(options: options).buildALL()

@cxfksword cxfksword marked this pull request as ready for review April 1, 2026 12:47
@cxfksword cxfksword merged commit 3201803 into main Apr 1, 2026
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.

2 participants