Skip to content

Commit 7d995eb

Browse files
authored
chore(ci): support for MFA v2.2.x on multi-platform (#28)
fix of #25 ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> 增强功能: - 要求在安装程序中显式指定操作系统和架构参数,并据此推导出对应的 .NET 运行时时平台标签。 - 更改本机二进制文件的安装布局,改为使用特定平台的运行时目录,为 Android 使用单独路径,并提供更清晰的安装程序提示信息。 CI: - 调整安装工作流,将操作系统和架构参数传入安装程序,将 MFA 拷贝步骤调整为在安装之前执行,并在 MFA 文件拷贝过程周围增加日志记录。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> </details> 增强功能: - 更新安装程序,使其接收显式的操作系统和体系结构参数,并据此推导出适用于放置本机二进制文件的 .NET 运行时平台标签。 - 调整安装布局,将本机二进制文件放置在特定平台的运行时时目录下,为 Android 使用单独的代码路径,并优化安装程序消息以保持一致性。 CI: - 修改安装工作流,将操作系统和体系结构参数传入安装程序,在运行安装程序之前复制 MFA 资源,并对与 MFA 复制相关的日志进行小幅调整。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> 增强功能: - 要求在安装程序中显式指定操作系统和架构参数,并据此推导出对应的 .NET 运行时时平台标签。 - 更改本机二进制文件的安装布局,改为使用特定平台的运行时目录,为 Android 使用单独路径,并提供更清晰的安装程序提示信息。 CI: - 调整安装工作流,将操作系统和架构参数传入安装程序,将 MFA 拷贝步骤调整为在安装之前执行,并在 MFA 文件拷贝过程周围增加日志记录。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> </details> </details> 增强内容: - 在安装程序中要求显式传入操作系统和架构参数,并据此推导相应的 .NET 运行时平台标签。 - 更改原生二进制文件的安装布局,使用特定于平台的运行时时间目录,并为 Android 提供特殊处理。 - 改进安装程序的提示信息,使其中英文文案更加清晰和一致。 CI: - 扩展安装工作流矩阵,覆盖 Windows、macOS 和 Linux 的 x86_64 和 ARM64 变体。 - 将操作系统和架构参数传递给安装脚本,并调整 MFA 拷贝步骤,确保在运行安装程序之前就已将 MFA 文件放置到位,同时使用适合各平台的拷贝命令。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> 增强功能: - 要求在安装程序中显式指定操作系统和架构参数,并据此推导出对应的 .NET 运行时时平台标签。 - 更改本机二进制文件的安装布局,改为使用特定平台的运行时目录,为 Android 使用单独路径,并提供更清晰的安装程序提示信息。 CI: - 调整安装工作流,将操作系统和架构参数传入安装程序,将 MFA 拷贝步骤调整为在安装之前执行,并在 MFA 文件拷贝过程周围增加日志记录。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> </details> 增强功能: - 更新安装程序,使其接收显式的操作系统和体系结构参数,并据此推导出适用于放置本机二进制文件的 .NET 运行时平台标签。 - 调整安装布局,将本机二进制文件放置在特定平台的运行时时目录下,为 Android 使用单独的代码路径,并优化安装程序消息以保持一致性。 CI: - 修改安装工作流,将操作系统和体系结构参数传入安装程序,在运行安装程序之前复制 MFA 资源,并对与 MFA 复制相关的日志进行小幅调整。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> 增强功能: - 要求在安装程序中显式指定操作系统和架构参数,并据此推导出对应的 .NET 运行时时平台标签。 - 更改本机二进制文件的安装布局,改为使用特定平台的运行时目录,为 Android 使用单独路径,并提供更清晰的安装程序提示信息。 CI: - 调整安装工作流,将操作系统和架构参数传入安装程序,将 MFA 拷贝步骤调整为在安装之前执行,并在 MFA 文件拷贝过程周围增加日志记录。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> </details> </details> </details> 增强功能: - 检测当前操作系统和架构,以推导出 .NET 运行时平台标签,并将本机二进制文件安装到对应的、特定于运行时的平台目录中。 - 调整 install.py 的消息提示和目录布局,使其与平台感知的运行时放置方式保持一致。 CI: - 扩展安装工作流矩阵,以针对 x86_64 和 ARM64 架构的特定 Windows、macOS 和 Linux 运行器。 - 在 CI 安装 Job 中重新排列 MFA 复制和工具安装步骤,以确保在运行安装程序之前已就绪 MFA 文件。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> 增强功能: - 要求在安装程序中显式指定操作系统和架构参数,并据此推导出对应的 .NET 运行时时平台标签。 - 更改本机二进制文件的安装布局,改为使用特定平台的运行时目录,为 Android 使用单独路径,并提供更清晰的安装程序提示信息。 CI: - 调整安装工作流,将操作系统和架构参数传入安装程序,将 MFA 拷贝步骤调整为在安装之前执行,并在 MFA 文件拷贝过程周围增加日志记录。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> </details> 增强功能: - 更新安装程序,使其接收显式的操作系统和体系结构参数,并据此推导出适用于放置本机二进制文件的 .NET 运行时平台标签。 - 调整安装布局,将本机二进制文件放置在特定平台的运行时时目录下,为 Android 使用单独的代码路径,并优化安装程序消息以保持一致性。 CI: - 修改安装工作流,将操作系统和体系结构参数传入安装程序,在运行安装程序之前复制 MFA 资源,并对与 MFA 复制相关的日志进行小幅调整。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> 增强功能: - 要求在安装程序中显式指定操作系统和架构参数,并据此推导出对应的 .NET 运行时时平台标签。 - 更改本机二进制文件的安装布局,改为使用特定平台的运行时目录,为 Android 使用单独路径,并提供更清晰的安装程序提示信息。 CI: - 调整安装工作流,将操作系统和架构参数传入安装程序,将 MFA 拷贝步骤调整为在安装之前执行,并在 MFA 文件拷贝过程周围增加日志记录。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> </details> </details> 增强内容: - 在安装程序中要求显式传入操作系统和架构参数,并据此推导相应的 .NET 运行时平台标签。 - 更改原生二进制文件的安装布局,使用特定于平台的运行时时间目录,并为 Android 提供特殊处理。 - 改进安装程序的提示信息,使其中英文文案更加清晰和一致。 CI: - 扩展安装工作流矩阵,覆盖 Windows、macOS 和 Linux 的 x86_64 和 ARM64 变体。 - 将操作系统和架构参数传递给安装脚本,并调整 MFA 拷贝步骤,确保在运行安装程序之前就已将 MFA 文件放置到位,同时使用适合各平台的拷贝命令。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> 增强功能: - 要求在安装程序中显式指定操作系统和架构参数,并据此推导出对应的 .NET 运行时时平台标签。 - 更改本机二进制文件的安装布局,改为使用特定平台的运行时目录,为 Android 使用单独路径,并提供更清晰的安装程序提示信息。 CI: - 调整安装工作流,将操作系统和架构参数传入安装程序,将 MFA 拷贝步骤调整为在安装之前执行,并在 MFA 文件拷贝过程周围增加日志记录。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> </details> 增强功能: - 更新安装程序,使其接收显式的操作系统和体系结构参数,并据此推导出适用于放置本机二进制文件的 .NET 运行时平台标签。 - 调整安装布局,将本机二进制文件放置在特定平台的运行时时目录下,为 Android 使用单独的代码路径,并优化安装程序消息以保持一致性。 CI: - 修改安装工作流,将操作系统和体系结构参数传入安装程序,在运行安装程序之前复制 MFA 资源,并对与 MFA 复制相关的日志进行小幅调整。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> 增强功能: - 要求在安装程序中显式指定操作系统和架构参数,并据此推导出对应的 .NET 运行时时平台标签。 - 更改本机二进制文件的安装布局,改为使用特定平台的运行时目录,为 Android 使用单独路径,并提供更清晰的安装程序提示信息。 CI: - 调整安装工作流,将操作系统和架构参数传入安装程序,将 MFA 拷贝步骤调整为在安装之前执行,并在 MFA 文件拷贝过程周围增加日志记录。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery 更新安装程序,使其能够识别操作系统/架构,并调整 CI 工作流以传递这些参数,并在安装前预先准备 MFA 资源。 增强内容: - 要求在安装程序中显式指定操作系统和架构参数,并将其映射到 .NET 运行时平台标签,以便将本机二进制文件放置到特定平台的运行时目录中。 - 在保留双语输出的前提下,简化并明确安装程序的控制台消息。 CI: - 修改安装工作流,将操作系统和架构参数传递给安装程序,并在 MFA 资源复制到安装目录之后再运行安装程序,同时增加一条关于 MFA 复制完成的确认日志。 <details> <summary>Original summary in English</summary> ## Summary by Sourcery Update the installer to be OS/architecture-aware and adjust the CI workflow to pass these parameters and stage MFA assets before installation. Enhancements: - Require explicit OS and architecture parameters in the installer and map them to .NET runtime platform tags for placing native binaries in platform-specific runtime directories. - Simplify and clarify installer console messages while preserving bilingual output. CI: - Modify the install workflow to pass OS and architecture arguments to the installer and run it after MFA assets are copied into the install directory, adding a confirmation log for MFA copying. </details> </details> </details> </details> </details>
1 parent 2162f9d commit 7d995eb

File tree

2 files changed

+65
-20
lines changed

2 files changed

+65
-20
lines changed

.github/workflows/install.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,23 +111,24 @@ jobs:
111111
- name: Install
112112
shell: bash
113113
run: |
114-
cd tools/
115-
python -m pip install -r ./requirements.txt
116-
python ./install.py ${{ needs.meta.outputs.tag }}
117-
cd ..
118-
119114
if [[ "${{ matrix.os }}" != "android" ]]; then
120115
if [ -d "MFA" ]; then
121116
echo "Copying MFA files to install directory..."
122117
mkdir -p install
123118
rsync -av --ignore-existing MFA/ install/
119+
echo "MFA files copied successfully."
124120
else
125121
echo "MFA directory not found, skipping copy."
126122
fi
127123
else
128124
echo "Skipping copy MFA for Android."
129125
fi
130126
127+
cd tools/
128+
python -m pip install -r ./requirements.txt
129+
python ./install.py ${{ needs.meta.outputs.tag }} ${{ matrix.os }} ${{ matrix.arch }}
130+
cd ..
131+
131132
- uses: actions/upload-artifact@v4
132133
with:
133134
name: MaaXXX-${{ matrix.os }}-${{ matrix.arch }}
@@ -187,4 +188,4 @@ jobs:
187188
gh workflow run --repo $GITHUB_REPOSITORY mirrorchyan_release.yml -f tag=${{ needs.meta.outputs.tag }}
188189
gh workflow run --repo $GITHUB_REPOSITORY mirrorchyan_release_note.yml -f tag=${{ needs.meta.outputs.tag }}
189190
env:
190-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
191+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

tools/install.py

Lines changed: 58 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,66 @@
1919
install_path = working_dir / Path("install")
2020
version = len(sys.argv) > 1 and sys.argv[1] or "v0.0.1"
2121

22+
# the first parameter is self name
23+
if sys.argv.__len__() < 4:
24+
print("Usage: python install.py <version> <os> <arch>")
25+
print("Example: python install.py v1.0.0 win x86_64")
26+
sys.exit(1)
27+
28+
os_name = sys.argv[2]
29+
arch = sys.argv[3]
30+
31+
32+
def get_dotnet_platform_tag():
33+
"""自动检测当前平台并返回对应的dotnet平台标签"""
34+
if os_name == "win" and arch == "x86_64":
35+
platform_tag = "win-x64"
36+
elif os_name == "win" and arch == "aarch64":
37+
platform_tag = "win-arm64"
38+
elif os_name == "macos" and arch == "x86_64":
39+
platform_tag = "osx-x64"
40+
elif os_name == "macos" and arch == "aarch64":
41+
platform_tag = "osx-arm64"
42+
elif os_name == "linux" and arch == "x86_64":
43+
platform_tag = "linux-x64"
44+
elif os_name == "linux" and arch == "aarch64":
45+
platform_tag = "linux-arm64"
46+
else:
47+
print("Unsupported OS or architecture.")
48+
print("available parameters:")
49+
print("version: e.g., v1.0.0")
50+
print("os: [win, macos, linux, android]")
51+
print("arch: [aarch64, x86_64]")
52+
sys.exit(1)
53+
54+
return platform_tag
55+
2256

2357
def install_deps():
2458
if not (working_dir / "deps" / "bin").exists():
25-
print("Please download the MaaFramework to \"deps\" first.")
26-
print("请先下载 MaaFramework 到 \"deps\"。")
59+
print('Please download the MaaFramework to "deps" first.')
60+
print('请先下载 MaaFramework 到 "deps"。')
2761
sys.exit(1)
2862

29-
shutil.copytree(
30-
working_dir / "deps" / "bin",
31-
install_path,
32-
ignore=shutil.ignore_patterns(
33-
"*MaaDbgControlUnit*",
34-
"*MaaThriftControlUnit*",
35-
"*MaaRpc*",
36-
"*MaaHttp*",
37-
),
38-
dirs_exist_ok=True,
39-
)
63+
if os_name == "android":
64+
shutil.copytree(
65+
working_dir / "deps" / "bin",
66+
install_path,
67+
dirs_exist_ok=True,
68+
)
69+
else:
70+
shutil.copytree(
71+
working_dir / "deps" / "bin",
72+
install_path / "runtimes" / get_dotnet_platform_tag() / "native",
73+
ignore=shutil.ignore_patterns(
74+
"*MaaDbgControlUnit*",
75+
"*MaaThriftControlUnit*",
76+
"*MaaRpc*",
77+
"*MaaHttp*",
78+
),
79+
dirs_exist_ok=True,
80+
)
81+
4082
shutil.copytree(
4183
working_dir / "deps" / "share" / "MaaAgentBinary",
4284
install_path / "MaaAgentBinary",
@@ -77,17 +119,19 @@ def install_chores():
77119
install_path,
78120
)
79121

122+
80123
def install_agent():
81124
shutil.copytree(
82125
working_dir / "agent",
83126
install_path / "agent",
84127
dirs_exist_ok=True,
85128
)
86129

130+
87131
if __name__ == "__main__":
88132
install_deps()
89133
install_resource()
90134
install_chores()
91135
install_agent()
92136

93-
print(f"Install to {install_path} successfully.")
137+
print(f"Install to {install_path} successfully.")

0 commit comments

Comments
 (0)