更新功能 - #2
Open
isesword wants to merge 67 commits into
Open
Conversation
isesword
commented
Jan 6, 2026
- github action 打包编译
- str 更多的函数支持及测试用例添加
- 更新polars版本为0.52
为 Rust 增加 regex 依赖,支持正则替换
… 表示“到末尾”,函数块恢复完整。expr.rs:337-352
…lace_literal_n),不再依赖 Series::utf8(),解决方法缺失的编译错误。expr.rs
…...)) 2. 对 name 列执行 StrSlice、StrReplace、StrSplit 操作 3. 更新了预期输出以匹配 sample.csv 中的实际数据
- 添加free_rust_string用于释放Rust分配的字符串内存 - 修改ToCsv和String方法使用free_rust_string释放返回的C字符串内存 - 在execute方法中添加旧句柄释放逻辑,避免内存泄漏 - 统一操作参数获取时的lazy加载,删除冗余代码并清理空行 - 优化DataFrame的操作追加与执行流程,保证表达式消费正确 - 调整Go代码格式,规范空白行以提高代码可读性 - 在firn.h声明free_rust_string函数接口,确保绑定完整 - 添加详细注释说明Memory释放要求及执行流程
- 在 MSYS2 shell 中确保 Rust 工具路径可见 - 将用户主目录和 runneradmin 的 .cargo 路径添加到 PATH - 明确设置 GNU 目标三元组以便正确构建 Rust 代码
- 在 Windows 构建工作流的安装步骤中添加 mingw-w64-x86_64-binutils - 补充必要工具以确保构建环境完整 - 优化依赖管理提升构建稳定性
- 在Windows构建流程中增加Rust工具链环境变量设置 - 配置cargo的目标平台为x86_64-pc-windows-gnu - 设置对应的链接器、编译器和归档工具路径 - 清理可能影响编译的环境变量 - 确保调用正确的构建脚本进行Rust编译
- 在windows-build-firn.yml工作流中添加验证MinGW工具的任务 - 输出gcc、g++、ar工具的路径信息以确保环境配置正确 - 修改Rust DLL构建任务中ar工具环境变量的设置 - 注释说明在MSYS2 MINGW64环境下ar可能不带前缀 - 确保构建脚本使用正确的工具链环境变量
- 调整 Windows 构建流程中复制 DLL 和 .a 文件的创建目录方式,避免重复创建 - 新增 Go 测试任务,设置 PATH 和 CGO 环境变量,确保测试运行时能正确加载 firn.dll - 根据是否存在 mingw 工具链设置相应的编译器环境变量,支持不同环境运行 - 添加环境信息打印,方便 CI 调试和确认配置 - 进入 polars 目录并执行指定的 Go 测试用例,增强测试覆盖 - 移除之前冗余的强制使用 MinGW 工具链的脚本,提高脚本简洁性和可维护性
- 将复制 dll 文件命令由 copy 改为 PowerShell 的 Copy-Item - 确保在 lib 目录存在时强制覆盖目标文件 - 使构建脚本更加符合 PowerShell 规范,提高兼容性和稳定性
- 删除了复制dll和dll.a到lib目录的任务 - 简化了windows构建的GitHub Actions流程 - 减少了不必要的文件操作,提高构建效率
- 引入 actions/setup-go@v5 来设置 Go 环境并启用缓存 - 在 PATH 中添加 Go 的默认安装路径,确保测试时能找到 Go 运行时 - 增加 Go 安装和版本检查日志,便于调试和验证环境配置 - 确保 Windows CI 流程中触发 Go 测试时依赖正确加载 firn.dll
- 在 MSYS2 安装列表中添加 mingw-w64-x86_64-go 包 - 移除 setup-go action,改由 MSYS2 环境提供 Go 支持 - 修改 PATH 环境变量,移除 GitHub Actions 自带的 Go 路径 - 简化 Go 命令检测逻辑,确保正确识别 Go 安装和版本 - 保持 Rust GNU 工具链及相关配置不变
- 将 Windows 构建流程中运行 Go 测试的步骤整体注释,暂时禁用该测试执行 - 注释内容包括设置 PATH、CGO 环境变量、编译器配置及具体测试命令 - 保持原有脚本结构,便于后续根据需要恢复该步骤 - 该更改意在优化或调整 CI 流程,避免不必要的测试执行失败或超时
- 调整发布配置中的codegen-units为16以提升编译速度 - 将lto模式改为thin以平衡性能和编译时间 - 明确设置debug为false以减少发行包体积 - 恢复panic策略设置为abort以减少二进制大小 - 为x86_64-pc-windows-gnu目标添加rustflags以启用静态CRT链接支持
- 调整构建脚本以统一库文件命名,取消平台标识后缀 - 修正 macOS 动态库 install_name_tool 调用,使用统一库名称 - 更新并恢复 Github Actions 构建矩阵,支持 Linux、macOS 和 Windows 平台 - 新增 Windows 平台构建脚本检测,防止 MSVC 与 GNU 工具链混用 - 重构 Github Actions 构建流程,增加缓存策略和发布自动化 - 清理旧注释和无用代码,保持构建脚本整洁
- 在 Windows 平台新增 MSYS2 (MINGW64) 环境设置步骤 - 分别为 Windows GNU 和非 Windows 设定 Rust 工具链配置 - 新增 Windows 下的 Rust 环境和编译器版本检测步骤 - 调整构建 Rust 静态库步骤,分别适配不同系统环境 - 注释了原有 Rust 工具链和缓存相关未使用的步骤以备后续调整使用
- 在Windows环境的MSYS2 shell中添加Rust工具链路径到PATH - 打印rustc及MinGW GCC版本信息以便调试 - 确保调用Rust构建脚本时Rust工具链可用 - 修改GitHub Actions工作流以支持Windows GNU构建环境
- 删除了x86_64-pc-windows-gnu目标的rustflags配置 - 保留了panic设置为abort的配置 - 简化了Cargo.toml文件内容,提高可维护性
- 将 Linux 目标的库文件名改为 libfirn.a 和 libfirn.so - 将 macOS 目标的库文件名改为 libfirn.a 和 libfirn.dylib - 将 Windows 目标的库文件名改为 libfirn.a、firn.dll 和 libfirn.dll.a - 规范各平台构建产物的文件命名格式 - 简化并统一构建配置中的文件路径注释内容
- 将 cargo build 命令移入各平台条件判断中,避免重复构建 - 定义 TARGET_DIR 变量在对应平台条件内,确保路径正确 - 注释中保留原有平台特定库命名方案 - 优化拷贝命令,始终使用统一库名,便于后续调用 - 保持 macOS 链接工具命令不变,确保动态库安装名正确
- 修改GitHub Actions配置,增加LD_LIBRARY_PATH设置 - 确保Go测试运行时能正确加载本地库文件 - 针对polars模块的TestEsword测试用例进行修正 - 使用多行命令替代单行脚本,增强环境变量设置灵活性
- 在链接参数中添加-Wl,-rpath选项 - 确保动态链接库在运行时能够正确找到 - 避免运行时因找不到共享库而出错
- 注释掉了旧的多行 Go 测试命令 - 将 Go 测试命令修改为单行运行格式 - 优化了 CI 工作流中 Go 测试步骤的可读性和简洁性 - 保留了 LD_LIBRARY_PATH 环境变量的配置部分注释,以备后续使用
- 从 rust/src/dataframe.rs 中移除未使用的 ColumnData 和 ColumnValue 导入 - 将构建成功的日志输出从脚本开头移动到脚本末尾,确保构建完成后输出 - 保持构建脚本输出顺序合理,增强日志信息可读性
- 在 build 矩阵中新增 Debian 容器配置,包含对应的操作系统和 Rust 目标 - 在 Debian 容器运行时添加依赖安装步骤,安装 curl、git、gcc 和构建工具 - 在 Debian 容器中手动安装 Rust 及添加相应目标支持 - 为 build 作业的容器选项增加默认空值处理,支持多种容器环境运行
- 区分 Linux/Debian、macOS 与 Windows 平台执行 Go 测试命令 - 为不同平台设置合适的环境变量和链接标志 - 移除 cgo LDFLAGS 中对路径和 rpath 的使用,统一为 -lfirn - 调整 macOS 和 Linux 平台 Go 测试脚本,确保正确查找并链接本地库 - Windows 测试环境使用 msys2 shell 并配置 PATH 以包含 Go 和本地库路径
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.